explicit error message when Solr database does not exist;
authorFabian Huch <huch@in.tum.de>
Wed, 22 Jan 2025 10:53:20 +0100
changeset 81896 db9bf651701d
parent 81895 9d1003cb9844
child 81897 794591b2ea97
explicit error message when Solr database does not exist;
src/Tools/Find_Facts/src/solr.scala
--- a/src/Tools/Find_Facts/src/solr.scala	Wed Jan 22 10:35:17 2025 +0100
+++ b/src/Tools/Find_Facts/src/solr.scala	Wed Jan 22 10:53:20 2025 +0100
@@ -358,15 +358,17 @@
       open_database(database)
     }
 
-    def open_database(database: String): Database = {
-      val server = new EmbeddedSolrServer(solr_data.java_path, database)
-
-      val cores = server.getCoreContainer.getAllCoreNames.asScala
-      if (cores.contains(database)) server.getCoreContainer.reload(database)
-      else server.getCoreContainer.create(database, Map.empty.asJava)
-
-      new Database(server)
-    }
+    def open_database(database: String): Database =
+      if (!database_dir(database).is_dir) error("Missing Solr database: " + quote(database))
+      else {
+        val server = new EmbeddedSolrServer(solr_data.java_path, database)
+  
+        val cores = server.getCoreContainer.getAllCoreNames.asScala
+        if (cores.contains(database)) server.getCoreContainer.reload(database)
+        else server.getCoreContainer.create(database, Map.empty.asJava)
+  
+        new Database(server)
+      }
   }
 
   class Database private[Solr](solr: EmbeddedSolrServer) extends AutoCloseable {