Author: tommaso
Date: Mon Mar 17 12:37:47 2014
New Revision: 1578342

URL: http://svn.apache.org/r1578342
Log:
OAK-1551 - EmbeddedSolrServerProvider stops the SolrRunner at 
SolrServer#shutdown, minor deployment fixes

Modified:
    
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/EmbeddedSolrServerConfigurationProvider.java
    
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
    
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
    
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
    
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml
    jackrabbit/oak/trunk/oak-solr-osgi/pom.xml

Modified: 
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/EmbeddedSolrServerConfigurationProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/EmbeddedSolrServerConfigurationProvider.java?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/EmbeddedSolrServerConfigurationProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/EmbeddedSolrServerConfigurationProvider.java
 Mon Mar 17 12:37:47 2014
@@ -73,7 +73,10 @@ public class EmbeddedSolrServerConfigura
         solrConfigFile = 
String.valueOf(componentContext.getProperties().get(SOLR_CONFIG_FILE));
         solrCoreName = 
String.valueOf(componentContext.getProperties().get(SOLR_CORE_NAME));
 
-        solrHttpPort = 
Integer.valueOf(String.valueOf(componentContext.getProperties().get(SOLR_HTTP_PORT)));
+        String httpPort = 
String.valueOf(componentContext.getProperties().get(SOLR_HTTP_PORT));
+        if (httpPort != null && httpPort.length() > 0) {
+            solrHttpPort = Integer.valueOf(httpPort);
+        }
         solrContext = 
String.valueOf(componentContext.getProperties().get(SOLR_CONTEXT));
 
         solrServerConfiguration = new 
EmbeddedSolrServerConfiguration(solrHome, solrConfigFile, solrCoreName).

Modified: 
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/osgi/SolrServerProviderService.java
 Mon Mar 17 12:37:47 2014
@@ -112,12 +112,14 @@ public class SolrServerProviderService i
             if (cachedSolrServer == null) {
                 if (serverType != null && !"none".equals(serverType)) {
                     SolrServerConfigurationProvider 
solrServerConfigurationProvider = 
solrServerConfigurationProviders.get(serverType);
-                    try {
-                        SolrServerConfiguration solrServerConfiguration = 
solrServerConfigurationProvider.getSolrServerConfiguration();
-                        SolrServerProvider solrServerProvider = 
solrServerConfiguration.getProvider();
-                        cachedSolrServer = solrServerProvider.getSolrServer();
-                    } catch (Exception e) {
-                        log.error("could not get a SolrServerProvider of type 
{}, {}", serverType, e);
+                    if (solrServerConfigurationProvider != null) {
+                        try {
+                            SolrServerConfiguration solrServerConfiguration = 
solrServerConfigurationProvider.getSolrServerConfiguration();
+                            SolrServerProvider solrServerProvider = 
solrServerConfiguration.getProvider();
+                            cachedSolrServer = 
solrServerProvider.getSolrServer();
+                        } catch (Exception e) {
+                            log.error("could not get a SolrServerProvider of 
type {}", serverType, e);
+                        }
                     }
                 }
             }

Modified: 
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/server/EmbeddedSolrServerProvider.java
 Mon Mar 17 12:37:47 2014
@@ -99,11 +99,7 @@ public class EmbeddedSolrServerProvider 
                 if (log.isInfoEnabled()) {
                     log.info("starting HTTP Solr server");
                 }
-                return new HttpSolrServer(new StringBuilder(
-                        
SolrServerConfigurationDefaults.LOCAL_BASE_URL).append(':')
-                        .append(httpPort).append(context)
-                        .append('/').append(coreName)
-                        .toString());
+                return new 
HttpWithJettySolrServer(SolrServerConfigurationDefaults.LOCAL_BASE_URL + ':' + 
httpPort + context + '/' + coreName, jettySolrRunner);
             } else {
                 ClassLoader classLoader = 
Thread.currentThread().getContextClassLoader();
                 
Thread.currentThread().setContextClassLoader(CoreContainer.class.getClassLoader());
@@ -147,7 +143,7 @@ public class EmbeddedSolrServerProvider 
                 copy("/solr/oak/conf/solrconfig.xml", coreDir);
             }
         } else if (!solrHomePathFile.isDirectory()) {
-            throw new IOException("a non directory file with the specified 
name already exists for the given solrHomePath '"+solrHomePath);
+            throw new IOException("a non directory file with the specified 
name already exists for the given solrHomePath '" + solrHomePath);
         }
 
         // TODO : improve this check
@@ -211,4 +207,26 @@ public class EmbeddedSolrServerProvider 
         return solrServer;
     }
 
+    private class HttpWithJettySolrServer extends HttpSolrServer {
+        private final JettySolrRunner jettySolrRunner;
+
+        public HttpWithJettySolrServer(String s, JettySolrRunner 
jettySolrRunner) {
+            super(s);
+            this.jettySolrRunner = jettySolrRunner;
+        }
+
+        @Override
+        public void shutdown() {
+            super.shutdown();
+            try {
+                if (jettySolrRunner != null) {
+                    if (jettySolrRunner.isRunning()) {
+                        jettySolrRunner.stop();
+                    }
+                }
+            } catch (Exception e) {
+                log.warn("could not stop JettySolrRunner {}", jettySolrRunner);
+            }
+        }
+    }
 }

Modified: 
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml 
(original)
+++ 
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/schema.xml 
Mon Mar 17 12:37:47 2014
@@ -119,8 +119,6 @@
     <dynamicField name="*_d"  type="double" indexed="true"  stored="true"/>
     <dynamicField name="*_ds" type="double" indexed="true"  stored="true"  
multiValued="true"/>
 
-    <dynamicField name="*_coordinate"  type="tdouble" indexed="true"  
stored="false" />
-
     <dynamicField name="*_dt"  type="date"    indexed="true"  stored="true"/>
     <dynamicField name="*_dts" type="date"    indexed="true"  stored="true" 
multiValued="true"/>
 

Modified: 
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml
 (original)
+++ 
jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/oak/conf/solrconfig.xml
 Mon Mar 17 12:37:47 2014
@@ -1541,31 +1541,6 @@
     </requestHandler>
 
 
-    <!-- Query Elevation Component
-
-         http://wiki.apache.org/solr/QueryElevationComponent
-
-         a search component that enables you to configure the top
-         results for a given query regardless of the normal lucene
-         scoring.
-      -->
-    <searchComponent name="elevator" class="solr.QueryElevationComponent" >
-        <!-- pick a fieldType to analyze queries -->
-        <str name="queryFieldType">string</str>
-        <str name="config-file">elevate.xml</str>
-    </searchComponent>
-
-    <!-- A request handler for demonstrating the elevator component -->
-    <requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy">
-        <lst name="defaults">
-            <str name="echoParams">explicit</str>
-            <str name="df">text</str>
-        </lst>
-        <arr name="last-components">
-            <str>elevator</str>
-        </arr>
-    </requestHandler>
-
     <!-- Highlighting Component
 
          http://wiki.apache.org/solr/HighlightingParameters

Modified: jackrabbit/oak/trunk/oak-solr-osgi/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-osgi/pom.xml?rev=1578342&r1=1578341&r2=1578342&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-osgi/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-solr-osgi/pom.xml Mon Mar 17 12:37:47 2014
@@ -43,7 +43,7 @@
                             org.apache.lucene.*;resolution:=optional,
                             com.carrotsearch.*;resolution:=optional,
                             com.googlecode.*;resolution:=optional,
-                            com.spatial4j.*;resolution:=optional,
+                            com.vividsolutions.jts.*;resolution:=optional,
                             com.sun.*;resolution:=optional,
                             jline;resolution:=optional,
                             org.apache.hadoop.*;resolution:=optional,
@@ -192,6 +192,19 @@
             <version>${lucene.version}</version>
             <scope>runtime</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.lucene</groupId>
+            <artifactId>lucene-spatial</artifactId>
+            <version>${lucene.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.spatial4j</groupId>
+            <artifactId>spatial4j</artifactId>
+            <version>0.3</version>
+            <scope>runtime</scope>
+        </dependency>
 
         <dependency>
             <groupId>commons-lang</groupId>


Reply via email to