You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by ry...@apache.org on 2008/02/05 23:21:44 UTC

svn commit: r618799 - in /lucene/solr/trunk/src: java/org/apache/solr/core/SolrResourceLoader.java test/org/apache/solr/core/ResourceLoaderTest.java

Author: ryan
Date: Tue Feb  5 14:21:42 2008
New Revision: 618799

URL: http://svn.apache.org/viewvc?rev=618799&view=rev
Log:
SOLR-472 - add comments to ResourceLoader and make sure it only calls "normalize" once

Modified:
    lucene/solr/trunk/src/java/org/apache/solr/core/SolrResourceLoader.java
    lucene/solr/trunk/src/test/org/apache/solr/core/ResourceLoaderTest.java

Modified: lucene/solr/trunk/src/java/org/apache/solr/core/SolrResourceLoader.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/core/SolrResourceLoader.java?rev=618799&r1=618798&r2=618799&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/core/SolrResourceLoader.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/core/SolrResourceLoader.java Tue Feb  5 14:21:42 2008
@@ -75,9 +75,11 @@
    */
   public SolrResourceLoader( String instanceDir, ClassLoader parent )
   {
-    if( instanceDir == null )
-      instanceDir = SolrResourceLoader.locateInstanceDir();
-    this.instanceDir = normalizeDir(instanceDir);
+    if( instanceDir == null ) {
+      this.instanceDir = SolrResourceLoader.locateInstanceDir();
+    } else{
+      this.instanceDir = normalizeDir(instanceDir);
+    }
     log.info("Solr home set to '" + this.instanceDir + "'");
     this.classLoader = createClassLoader(new File(this.instanceDir + "lib/"), parent);
   }
@@ -255,8 +257,20 @@
     }
     waitingForResources.clear();
   }
-  
 
+  /**
+   * Finds the instanceDir based on looking up the value in one of three places:
+   * <ol>
+   *  <li>JNDI: via java:comp/env/solr/home</li>
+   *  <li>The system property solr.solr.home</li>
+   *  <li>Look in the current working directory for a solr/ directory</li> 
+   * </ol>
+   *
+   * The return value is normalized.  Normalization essentially means it ends in a trailing slash.
+   * @return A normalized instanceDir
+   *
+   * @see #normalizeDir(String) 
+   */
   public static String locateInstanceDir() {
     String home = null;
     // Try JNDI
@@ -275,7 +289,7 @@
     // Now try system property
     if( home == null ) {
       String prop = project + ".solr.home";
-      home = normalizeDir(System.getProperty(prop));
+      home = System.getProperty(prop);
       if( home != null ) {
         log.info("using system property "+prop+": " + home );
       }

Modified: lucene/solr/trunk/src/test/org/apache/solr/core/ResourceLoaderTest.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/org/apache/solr/core/ResourceLoaderTest.java?rev=618799&r1=618798&r2=618799&view=diff
==============================================================================
--- lucene/solr/trunk/src/test/org/apache/solr/core/ResourceLoaderTest.java (original)
+++ lucene/solr/trunk/src/test/org/apache/solr/core/ResourceLoaderTest.java Tue Feb  5 14:21:42 2008
@@ -32,6 +32,16 @@
 
 public class ResourceLoaderTest extends TestCase 
 {
+  public void testInstanceDir() throws Exception {
+    SolrResourceLoader loader = new SolrResourceLoader(null);
+    String instDir = loader.getInstanceDir();
+    assertTrue(instDir + " is not equal to " + "solr/", instDir.equals("solr/") == true);
+
+    loader = new SolrResourceLoader("solr");
+    instDir = loader.getInstanceDir();
+    assertTrue(instDir + " is not equal to " + "solr/", instDir.equals("solr/") == true);
+  }
+
   public void testAwareCompatibility() 
   {
     SolrResourceLoader loader = new SolrResourceLoader( "." );