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;