Author: noble
Date: Fri Jun 19 09:58:58 2009
New Revision: 786434

URL: http://svn.apache.org/viewvc?rev=786434&view=rev
Log:
SOLR-1214

Modified:
    lucene/solr/trunk/CHANGES.txt
    lucene/solr/trunk/src/java/org/apache/solr/core/CoreContainer.java
    lucene/solr/trunk/src/java/org/apache/solr/core/CoreDescriptor.java
    lucene/solr/trunk/src/java/org/apache/solr/core/SolrResourceLoader.java

Modified: lucene/solr/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=786434&r1=786433&r2=786434&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Fri Jun 19 09:58:58 2009
@@ -237,6 +237,9 @@
     
 60. SOLR-243: Add configurable IndexReaderFactory so that alternate 
IndexReader implementations 
     can be specified via solrconfig.xml. (Andrzej Bialecki, hossman, Mark 
Miller, John Wang)
+    
+61. SOLR-1214: differentiate between solr home and instanceDir .deprecates the 
method SolrResourceLoader#locateInstanceDir()
+    and it is renamed to locateSolrHome (noble)
 
 Optimizations
 ----------------------

Modified: lucene/solr/trunk/src/java/org/apache/solr/core/CoreContainer.java
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/core/CoreContainer.java?rev=786434&r1=786433&r2=786434&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/core/CoreContainer.java 
(original)
+++ lucene/solr/trunk/src/java/org/apache/solr/core/CoreContainer.java Fri Jun 
19 09:58:58 2009
@@ -72,8 +72,14 @@
   protected Map<String ,IndexSchema> indexSchemaCache;
   protected String adminHandler;
   protected boolean shareSchema;
+  protected final String solrHome;
 
+  @Deprecated
   public CoreContainer() {
+    solrHome =".";
+  }
+  public CoreContainer(String home) {
+    solrHome =home;
   }
 
   public Properties getContainerProperties() {
@@ -104,13 +110,13 @@
     // core container instantiation
     public CoreContainer initialize() throws IOException, 
ParserConfigurationException, SAXException {
       CoreContainer cores = null;
-      String instanceDir = SolrResourceLoader.locateInstanceDir();
-      File fconf = new File(instanceDir, solrConfigFilename == null? 
"solr.xml": solrConfigFilename);
+      String solrHome = SolrResourceLoader.locateSolrHome();
+      File fconf = new File(solrHome, solrConfigFilename == null? "solr.xml": 
solrConfigFilename);
       log.info("looking for solr.xml: " + fconf.getAbsolutePath());
 
       if (fconf.exists()) {
-        cores = new CoreContainer();
-        cores.load(instanceDir, fconf);
+        cores = new CoreContainer(solrHome);
+        cores.load(solrHome, fconf);
         abortOnConfigurationError = false;
         // if any core aborts on startup, then abort
         for (SolrCore c : cores.getCores()) {
@@ -122,7 +128,7 @@
         solrConfigFilename = cores.getConfigFile().getName();
       } else {
         // perform compatibility init
-        cores = new CoreContainer(new SolrResourceLoader(instanceDir));
+        cores = new CoreContainer(new SolrResourceLoader(solrHome));
         SolrConfig cfg = solrConfigFilename == null ? new SolrConfig() : new 
SolrConfig(solrConfigFilename);
         CoreDescriptor dcore = new CoreDescriptor(cores, "", ".");
         SolrCore singlecore = new SolrCore(null, null, cfg, null, dcore);
@@ -147,6 +153,7 @@
    */
   public CoreContainer(String dir, File configFile ) throws 
ParserConfigurationException, IOException, SAXException 
   {
+    solrHome = dir;
     this.load(dir, configFile);
   }
   
@@ -156,8 +163,9 @@
    */
   public CoreContainer(SolrResourceLoader loader) {
     this.loader = loader;
+    solrHome = loader.getInstanceDir();
   }
-  
+
   //-------------------------------------------------------------------
   // Initialization / Cleanup
   //-------------------------------------------------------------------
@@ -349,7 +357,7 @@
     // Make the instanceDir relative to the cores instanceDir if not absolute
     File idir = new File(dcore.getInstanceDir());
     if (!idir.isAbsolute()) {
-      idir = new File(loader.getInstanceDir(), dcore.getInstanceDir());
+      idir = new File(solrHome, dcore.getInstanceDir());
     }
     String instanceDir = idir.getPath();
     
@@ -761,5 +769,8 @@
       throw xforward;
     }
   }
- 
+
+  public String getSolrHome() {
+    return solrHome;
+  }
 }

Modified: lucene/solr/trunk/src/java/org/apache/solr/core/CoreDescriptor.java
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/core/CoreDescriptor.java?rev=786434&r1=786433&r2=786434&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/core/CoreDescriptor.java 
(original)
+++ lucene/solr/trunk/src/java/org/apache/solr/core/CoreDescriptor.java Fri Jun 
19 09:58:58 2009
@@ -91,7 +91,7 @@
       if (new File(instanceDir).isAbsolute()) {
         return 
SolrResourceLoader.normalizeDir(SolrResourceLoader.normalizeDir(instanceDir) + 
dataDir);
       } else  {
-        return 
SolrResourceLoader.normalizeDir(coreContainer.loader.getInstanceDir() +
+        return SolrResourceLoader.normalizeDir(coreContainer.getSolrHome() +
                 SolrResourceLoader.normalizeDir(instanceDir) + dataDir);
       }
     }

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=786434&r1=786433&r2=786434&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 Fri 
Jun 19 09:58:58 2009
@@ -84,7 +84,7 @@
   public SolrResourceLoader( String instanceDir, ClassLoader parent, 
Properties coreProperties )
   {
     if( instanceDir == null ) {
-      this.instanceDir = SolrResourceLoader.locateInstanceDir();
+      this.instanceDir = SolrResourceLoader.locateSolrHome();
     } else{
       this.instanceDir = normalizeDir(instanceDir);
     }
@@ -428,13 +428,13 @@
     waitingForResources.clear();
   }
   /**
-   * Determines the instanceDir from the environment.
+   * Determines the solrhome from the environment.
    * Tries JNDI (java:comp/env/solr/home) then system property 
(solr.solr.home);
    * if both fail, defaults to solr/
    * @return the instance directory name
    */
   /**
-   * Finds the instanceDir based on looking up the value in one of three 
places:
+   * Finds the solrhome 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>
@@ -442,11 +442,10 @@
    * </ol>
    *
    * The return value is normalized.  Normalization essentially means it ends 
in a trailing slash.
-   * @return A normalized instanceDir
-   *
-   * @see #normalizeDir(String) 
+   * @return A normalized solrhome
+   * @see #normalizeDir(String)
    */
-  public static String locateInstanceDir() {
+  public static String locateSolrHome() {
     String home = null;
     // Try JNDI
     try {
@@ -477,6 +476,10 @@
     }
     return normalizeDir( home );
   }
+  @Deprecated
+  public static String locateInstanceDir() {
+    return locateSolrHome();
+  }
 
   public String getInstanceDir() {
     return instanceDir;


Reply via email to