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( "." );