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 2013/04/05 15:52:38 UTC

svn commit: r1464977 - in /jackrabbit/oak/trunk: oak-solr-core/ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/ oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/ oak-solr-embedded/src/main/java/or...

Author: tommaso
Date: Fri Apr  5 13:52:38 2013
New Revision: 1464977

URL: http://svn.apache.org/r1464977
Log:
OAK-735 - added lables to osgi services of oak-solr-embedded, added parsing of http configuration to both osgi and nodestate based configurations, restored needed solrj embed in oak-solr-core

Modified:
    jackrabbit/oak/trunk/oak-solr-core/pom.xml
    jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/OakSolrConfiguration.java
    jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
    jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/OakSolrNodeStateConfiguration.java
    jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/SolrServerConfiguration.java
    jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/osgi/EmbeddedSolrProviderService.java
    jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/osgi/OsgiSolrServerConfigurationProvider.java

Modified: jackrabbit/oak/trunk/oak-solr-core/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/pom.xml?rev=1464977&r1=1464976&r2=1464977&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-solr-core/pom.xml Fri Apr  5 13:52:38 2013
@@ -44,12 +44,9 @@
             <Export-Package>
               org.apache.jackrabbit.oak.plugins.index.solr,
               org.apache.jackrabbit.oak.plugins.index.solr.index,
-              org.apache.jackrabbit.oak.plugins.index.solr.query,
-              org.apache.jackrabbit.oak.plugins.index.solr.server
+              org.apache.jackrabbit.oak.plugins.index.solr.query
             </Export-Package>
-            <Private-Package>
-              org.apache.jackrabbit.oak.plugins.index.solr.*
-            </Private-Package>
+            <Embed-Dependency>solr-solrj</Embed-Dependency>
           </instructions>
         </configuration>
       </plugin>

Modified: jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/OakSolrConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/OakSolrConfiguration.java?rev=1464977&r1=1464976&r2=1464977&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/OakSolrConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/OakSolrConfiguration.java Fri Apr  5 13:52:38 2013
@@ -48,7 +48,6 @@ public interface OakSolrConfiguration {
      */
     public String getFieldForPathRestriction(Filter.PathRestriction pathRestriction);
 
-
     /**
      * Provide a field name to search over for the given {@link Filter.PropertyRestriction}
      *

Modified: jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java?rev=1464977&r1=1464976&r2=1464977&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java Fri Apr  5 13:52:38 2013
@@ -76,7 +76,10 @@ public class SolrQueryIndex implements Q
 
         SolrQuery solrQuery = new SolrQuery();
         solrQuery.setParam("q.op", "AND");
+
+        // TODO : change this to be not hard coded
         solrQuery.setParam("df", "catch_all");
+
         // TODO : can we handle this better?
         solrQuery.setParam("rows", String.valueOf(Integer.MAX_VALUE));
 

Modified: jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/OakSolrNodeStateConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/OakSolrNodeStateConfiguration.java?rev=1464977&r1=1464976&r2=1464977&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/OakSolrNodeStateConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/OakSolrNodeStateConfiguration.java Fri Apr  5 13:52:38 2013
@@ -99,8 +99,14 @@ public abstract class OakSolrNodeStateCo
 
     @Override
     public SolrServerConfiguration getSolrServerConfiguration() {
-        return new SolrServerConfiguration(getStringValueFor(Properties.SOLRHOME_PATH, SolrServerConfigurationDefaults.SOLR_HOME_PATH),
-                getStringValueFor(Properties.SOLRCONFIG_PATH, SolrServerConfigurationDefaults.SOLR_CONFIG_PATH), getCoreName());
+        String solrHomePath = getStringValueFor(Properties.SOLRHOME_PATH, SolrServerConfigurationDefaults.SOLR_HOME_PATH);
+        String solrConfigPath = getStringValueFor(Properties.SOLRCONFIG_PATH, SolrServerConfigurationDefaults.SOLR_CONFIG_PATH);
+
+        String context = getStringValueFor(Properties.CONTEXT, SolrServerConfigurationDefaults.CONTEXT);
+        Integer httpPort = Integer.valueOf(getStringValueFor(Properties.HTTP_PORT, SolrServerConfigurationDefaults.HTTP_PORT));
+
+        return new SolrServerConfiguration(solrHomePath,
+                solrConfigPath, getCoreName()).withHttpConfiguration(context, httpPort);
     }
 
     /**
@@ -110,6 +116,8 @@ public abstract class OakSolrNodeStateCo
 
         public static final String SOLRHOME_PATH = "solrHomePath";
         public static final String SOLRCONFIG_PATH = "solrConfigPath";
+        public static final String CONTEXT = "solrContext";
+        public static final String HTTP_PORT = "solrContext";
         public static final String CORE_NAME = "coreName";
         public static final String PATH_FIELD = "pathField";
         public static final String PARENT_FIELD = "parentField";

Modified: jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/SolrServerConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/SolrServerConfiguration.java?rev=1464977&r1=1464976&r2=1464977&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/SolrServerConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/SolrServerConfiguration.java Fri Apr  5 13:52:38 2013
@@ -33,7 +33,9 @@ public class SolrServerConfiguration {
     }
 
     public SolrServerConfiguration withHttpConfiguration(String context, Integer httpPort) {
-        this.httpConfiguration = new HttpConfiguration(context, httpPort);
+        if (context != null && context.length() > 0 && httpPort != null && httpPort > 0) {
+            this.httpConfiguration = new HttpConfiguration(context, httpPort);
+        }
         return this;
     }
 

Modified: jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/osgi/EmbeddedSolrProviderService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/osgi/EmbeddedSolrProviderService.java?rev=1464977&r1=1464976&r2=1464977&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/osgi/EmbeddedSolrProviderService.java (original)
+++ jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/osgi/EmbeddedSolrProviderService.java Fri Apr  5 13:52:38 2013
@@ -25,8 +25,8 @@ import org.apache.felix.scr.annotations.
 import org.apache.jackrabbit.oak.plugins.index.solr.OakSolrConfiguration;
 import org.apache.jackrabbit.oak.plugins.index.solr.OakSolrConfigurationProvider;
 import org.apache.jackrabbit.oak.plugins.index.solr.SolrServerProvider;
-import org.apache.jackrabbit.oak.plugins.index.solr.embedded.EmbeddedSolrServerProvider;
 import org.apache.jackrabbit.oak.plugins.index.solr.embedded.EmbeddedSolrConfigurationProvider;
+import org.apache.jackrabbit.oak.plugins.index.solr.embedded.EmbeddedSolrServerProvider;
 import org.apache.jackrabbit.oak.plugins.index.solr.embedded.SolrServerConfigurationProvider;
 import org.apache.jackrabbit.oak.plugins.index.solr.embedded.UpToDateNodeStateConfiguration;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
@@ -36,7 +36,8 @@ import org.osgi.service.component.Compon
 /**
  * OSGi service for the embedded Solr server module.
  */
-@Component
+@Component(metatype = true,
+        label = "Embedded SolrServer provider")
 @Services({
         @Service(value = SolrServerProvider.class),
         @Service(value = OakSolrConfigurationProvider.class)

Modified: jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/osgi/OsgiSolrServerConfigurationProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/osgi/OsgiSolrServerConfigurationProvider.java?rev=1464977&r1=1464976&r2=1464977&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/osgi/OsgiSolrServerConfigurationProvider.java (original)
+++ jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/osgi/OsgiSolrServerConfigurationProvider.java Fri Apr  5 13:52:38 2013
@@ -32,7 +32,8 @@ import org.osgi.service.component.Compon
 /**
  * An OSGi service {@link SolrServerConfigurationProvider}
  */
-@Component
+@Component(metatype = true,
+        label = "OSGi Solr server configuration provider")
 @Service(value = SolrServerConfigurationProvider.class)
 public class OsgiSolrServerConfigurationProvider implements SolrServerConfigurationProvider {
 
@@ -48,6 +49,9 @@ public class OsgiSolrServerConfiguration
     @Property(value = SolrServerConfigurationDefaults.HTTP_PORT)
     private static final String SOLR_HTTP_PORT = "solr.http.port";
 
+    @Property(value = SolrServerConfigurationDefaults.CONTEXT)
+    private static final String SOLR_CONTEXT = "solr.context";
+
     private static SolrServer solrServer;
 
     private String solrHome;
@@ -55,6 +59,7 @@ public class OsgiSolrServerConfiguration
     private String solrCoreName;
 
     private Integer solrHttpPort;
+    private String solrContext;
 
     private SolrServerConfiguration solrServerConfiguration;
 
@@ -67,12 +72,13 @@ public class OsgiSolrServerConfiguration
             assert file.createNewFile();
         }
         solrConfigFile = String.valueOf(componentContext.getProperties().get(SOLR_CONFIG_FILE));
-        solrCoreName= String.valueOf(componentContext.getProperties().get(SOLR_CORE_NAME));
+        solrCoreName = String.valueOf(componentContext.getProperties().get(SOLR_CORE_NAME));
 
         solrHttpPort = Integer.valueOf(String.valueOf(componentContext.getProperties().get(SOLR_HTTP_PORT)));
-        // TODO : add the possibility to inject solrconfig and schema files
+        solrContext = String.valueOf(componentContext.getProperties().get(SOLR_CONTEXT));
 
-        solrServerConfiguration = new SolrServerConfiguration(solrHome, solrConfigFile, solrCoreName);
+        solrServerConfiguration = new SolrServerConfiguration(solrHome, solrConfigFile, solrCoreName).
+                withHttpConfiguration(solrContext, solrHttpPort);
     }
 
     @Deactivate
@@ -81,6 +87,7 @@ public class OsgiSolrServerConfiguration
         solrHttpPort = null;
         solrConfigFile = null;
         solrCoreName = null;
+        solrContext = null;
         if (solrServer != null) {
             solrServer.shutdown();
             solrServer = null;