You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by to...@apache.org on 2014/02/18 19:19:17 UTC

svn commit: r1569458 - /jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrConfigurationProvider.java

Author: tommaso
Date: Tue Feb 18 18:19:17 2014
New Revision: 1569458

URL: http://svn.apache.org/r1569458
Log:
OAK-1435 - Expose commit policy options in RemoteSolrConfigurationProvider

Modified:
    jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrConfigurationProvider.java

Modified: jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrConfigurationProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrConfigurationProvider.java?rev=1569458&r1=1569457&r2=1569458&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrConfigurationProvider.java (original)
+++ jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrConfigurationProvider.java Tue Feb 18 18:19:17 2014
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.plugin
 
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.PropertyOption;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.plugins.index.solr.configuration.CommitPolicy;
@@ -55,10 +56,25 @@ public class RemoteSolrConfigurationProv
     @Property(value = DEFAULT_PATH_FIELD, label = "field for path search")
     private static final String PATH_EXACT_FIELD = "path.exact.field";
 
+    @Property(options = {
+            @PropertyOption(name = "HARD",
+                    value = "Hard commit"
+            ),
+            @PropertyOption(name = "SOFT",
+                    value = "Soft commit"
+            ),
+            @PropertyOption(name = "AUTO",
+                    value = "Auto commit"
+            )},
+            value = "SOFT"
+    )
+    private static final String COMMIT_POLICY = "commit.policy";
+
     private String pathChildrenFieldName;
     private String pathParentFieldName;
     private String pathDescendantsFieldName;
     private String pathExactFieldName;
+    private CommitPolicy commitPolicy;
 
     private OakSolrConfiguration oakSolrConfiguration;
 
@@ -67,14 +83,16 @@ public class RemoteSolrConfigurationProv
         this.pathDescendantsFieldName = DEFAULT_DESC_FIELD;
         this.pathExactFieldName = DEFAULT_PATH_FIELD;
         this.pathParentFieldName = DEFAULT_PARENT_FIELD;
+        this.commitPolicy = CommitPolicy.SOFT;
     }
 
     public RemoteSolrConfigurationProvider(String pathChildrenFieldName, String pathParentFieldName,
-                                           String pathDescendantsFieldName, String pathExactFieldName) {
+                                           String pathDescendantsFieldName, String pathExactFieldName, CommitPolicy commitPolicy) {
         this.pathChildrenFieldName = pathChildrenFieldName;
         this.pathParentFieldName = pathParentFieldName;
         this.pathDescendantsFieldName = pathDescendantsFieldName;
         this.pathExactFieldName = pathExactFieldName;
+        this.commitPolicy = commitPolicy;
     }
 
     protected void activate(ComponentContext componentContext) throws Exception {
@@ -82,6 +100,7 @@ public class RemoteSolrConfigurationProv
         pathParentFieldName = String.valueOf(componentContext.getProperties().get(PATH_PARENT_FIELD));
         pathExactFieldName = String.valueOf(componentContext.getProperties().get(PATH_EXACT_FIELD));
         pathDescendantsFieldName = String.valueOf(componentContext.getProperties().get(PATH_DESCENDANTS_FIELD));
+        commitPolicy = CommitPolicy.valueOf(String.valueOf(componentContext.getProperties().get(COMMIT_POLICY)));
     }
 
     @Override
@@ -138,7 +157,7 @@ public class RemoteSolrConfigurationProv
 
                 @Override
                 public CommitPolicy getCommitPolicy() {
-                    return CommitPolicy.SOFT;
+                    return commitPolicy;
                 }
 
             };