From 402cd80744937c6483c0fd9f35ce6196c225e068 Mon Sep 17 00:00:00 2001
From: Robert Butora <robert.butora@gmail.com>
Date: Sat, 30 Mar 2024 07:13:00 -0400
Subject: [PATCH] config: adss DB-config to Format-filter (Search-servlet ahs
 its own config entry) and Db-search module is inited by Search-config or
 Format-config

---
 data-discovery/config/Makefile                |  7 +++++--
 ...ies => formatresponsefilter.properties.in} |  0
 .../src/main/java/vlkb/search/DbPSearch.java  | 10 ++++++++--
 .../src/main/java/vlkb/webapi/DBConn.java     | 19 +++++++++++++++++++
 .../vlkb/webapi/FormatResponseFilter.java     |  3 ++-
 .../vlkb/webapi/FormatResponseSettings.java   |  6 +++---
 .../main/java/vlkb/webapi/SearchServlet.java  |  2 +-
 .../main/java/vlkb/webapi/SearchSettings.java |  8 ++++----
 .../resources/formatresponsefilter.properties |  2 +-
 9 files changed, 43 insertions(+), 14 deletions(-)
 rename data-discovery/config/{formatresponsefilter.properties => formatresponsefilter.properties.in} (100%)
 create mode 100644 data-discovery/src/main/java/vlkb/webapi/DBConn.java

diff --git a/data-discovery/config/Makefile b/data-discovery/config/Makefile
index e03b2d6..5b4fd7c 100644
--- a/data-discovery/config/Makefile
+++ b/data-discovery/config/Makefile
@@ -3,7 +3,7 @@ DBMS   ?= localhost  # localhost | pasquale | pasquale-devel
 AUTH   ?=            # ia2token | garrtoken | <empty>
 ################################################################
 
-all: authpolicy.properties web.xml discovery.properties
+all: formatresponsefilter.properties authpolicy.properties web.xml discovery.properties
 
 web.xml:
 	cd web-xml && cat web.xml-begining web.xml-format-filter web.xml-$(AUTH)-filter web.xml-authorization-filter web.xml-servlets web.xml-ending > ../web.xml
@@ -11,9 +11,12 @@ web.xml:
 discovery.properties: discovery.properties.in
 	cat dbms.conf-$(DBMS) discovery.properties.in > $@
 
+formatresponsefilter.properties: formatresponsefilter.properties.in
+	cat dbms.conf-$(DBMS) formatresponsefilter.properties.in > $@
+
 authpolicy.properties: dbms.conf-$(DBMS)
 	cp dbms.conf-$(DBMS) $@
 
 .PHONY:
 clean:
-	-rm -f authpolicy.properties discovery.properties web.xml
+	-rm -f formatresponsefilter.properties authpolicy.properties discovery.properties web.xml
diff --git a/data-discovery/config/formatresponsefilter.properties b/data-discovery/config/formatresponsefilter.properties.in
similarity index 100%
rename from data-discovery/config/formatresponsefilter.properties
rename to data-discovery/config/formatresponsefilter.properties.in
diff --git a/data-discovery/src/main/java/vlkb/search/DbPSearch.java b/data-discovery/src/main/java/vlkb/search/DbPSearch.java
index a65895a..ea62bcf 100644
--- a/data-discovery/src/main/java/vlkb/search/DbPSearch.java
+++ b/data-discovery/src/main/java/vlkb/search/DbPSearch.java
@@ -23,9 +23,15 @@ import java.lang.ClassNotFoundException;
 public class DbPSearch
 {
    private static final Logger LOGGER = Logger.getLogger(DbPSearch.class.getName());
-   private static final SearchSettings.DBConn dbConn = SearchSettings.getInstance("discovery.properties").dbConn;
+   //private static final SearchSettings.DBConn dbConn = SearchSettings.getInstance("discovery.properties").dbConn;
+   private DBConn dbConn;
 
-   private static final String DB_DRIVER = "org.postgresql.Driver";
+   //private static final String DB_DRIVER = "org.postgresql.Driver";
+
+   DbPSearch(DBConn dbConn)
+   {
+      this.dbConn = dbConn;
+   }
 
    public String[] queryOverlapingPubdid(Coord coord, SubsurveyId subsurveyId)
    {
diff --git a/data-discovery/src/main/java/vlkb/webapi/DBConn.java b/data-discovery/src/main/java/vlkb/webapi/DBConn.java
new file mode 100644
index 0000000..85dc9cd
--- /dev/null
+++ b/data-discovery/src/main/java/vlkb/webapi/DBConn.java
@@ -0,0 +1,19 @@
+
+class DBConn
+{
+   public String uri;
+   public String schema;
+   public String user_name;
+   public String password;
+
+   public String uri() {return uri;}
+   public String schema() {return schema;}
+   public String userName() {return user_name;}
+   public String password() {return password;}
+
+   public String toString()
+   {
+      return uri + "  schema[" + schema +  "] " + user_name + " / " + password;
+   }
+}
+
diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
index f6b7775..832593f 100644
--- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
+++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
@@ -73,6 +73,7 @@ public class FormatResponseFilter implements Filter
       dbSubsurveyArr = Subsurvey.loadSubsurveys(surveysAbsPathname);
       LOGGER.info("Surveys: loaded metadata for " + dbSubsurveyArr.length + " known surveys");
       LOGGER.info("Default charset: " + Charset.defaultCharset());
+      LOGGER.info("DB: " + settings.dbConn.toString());
    }
 
 
@@ -224,7 +225,7 @@ public class FormatResponseFilter implements Filter
       DbPSearch dbps;
       synchronized(DbPSearch.class)
       {
-         dbps = new DbPSearch();
+         dbps = new DbPSearch(settings.dbConn);
       }
 
       return dbps.queryOutputData(pubdidArr, coord);
diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseSettings.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseSettings.java
index b2979bd..dcebe2a 100644
--- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseSettings.java
+++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseSettings.java
@@ -11,7 +11,7 @@ class FormatResponseSettings
 {
    private static final Logger LOGGER = Logger.getLogger("FormatResponseSettings");
 
-
+/*
    public static class DBConn
    {
       private String uri;
@@ -29,7 +29,7 @@ class FormatResponseSettings
          return uri + "  schema[" + schema +  "] " + user_name + " / " + password;
       }
    }
-
+*/
 
    public static class ServiceUrls
    {
@@ -101,7 +101,7 @@ class FormatResponseSettings
 
    private static DBConn loadDBConn(Properties properties)
    {
-      DBConn dbConn = new FormatResponseSettings.DBConn();
+      DBConn dbConn = new DBConn();
       dbConn.uri       = properties.getProperty("db_uri","jdbc:postgresql://localhost:5432/vialactea").strip();
       dbConn.schema    = properties.getProperty("db_schema","datasets").strip();
       dbConn.user_name = properties.getProperty("db_user_name","").strip();
diff --git a/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java b/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java
index 7e04336..be6da0c 100644
--- a/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java
+++ b/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java
@@ -64,7 +64,7 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
          DbPSearch dbps;
          synchronized(DbPSearch.class)
          {
-            dbps = new DbPSearch();
+            dbps = new DbPSearch(settings.dbConn);
          }
          String[] pubdidArr = dbps.queryOverlapingPubdid(coord, subsurveyId);
 
diff --git a/data-discovery/src/main/java/vlkb/webapi/SearchSettings.java b/data-discovery/src/main/java/vlkb/webapi/SearchSettings.java
index 8e85f24..0a08c5e 100644
--- a/data-discovery/src/main/java/vlkb/webapi/SearchSettings.java
+++ b/data-discovery/src/main/java/vlkb/webapi/SearchSettings.java
@@ -11,7 +11,7 @@ class SearchSettings
 {
    private static final Logger LOGGER = Logger.getLogger("SearchSettings");
 
-
+/*
    public static class DBConn
    {
       private String uri;
@@ -29,7 +29,7 @@ class SearchSettings
          return uri + "  schema[" + schema +  "] " + user_name + " / " + password;
       }
    }
-
+*/
    public DBConn     dbConn;
 
 
@@ -47,7 +47,7 @@ class SearchSettings
 
             DBConn      dbConn      = loadDBConn(properties);
 
-            return new SearchSettings(dbConn/*, serviceUrls*/);
+            return new SearchSettings(dbConn);
          }
          else
          {
@@ -72,7 +72,7 @@ class SearchSettings
 
    private static DBConn loadDBConn(Properties properties)
    {
-      DBConn dbConn = new SearchSettings.DBConn();
+      DBConn dbConn = new DBConn();
       dbConn.uri       = properties.getProperty("db_uri","jdbc:postgresql://localhost:5432/vialactea").strip();
       dbConn.schema    = properties.getProperty("db_schema","datasets").strip();
       dbConn.user_name = properties.getProperty("db_user_name","").strip();
diff --git a/data-discovery/src/main/resources/formatresponsefilter.properties b/data-discovery/src/main/resources/formatresponsefilter.properties
index a2fd398..997168d 100644
--- a/data-discovery/src/main/resources/formatresponsefilter.properties
+++ b/data-discovery/src/main/resources/formatresponsefilter.properties
@@ -6,7 +6,7 @@ db_user_name=
 db_password=
 
 # VLKB-legacy: surveys metadata in csv file
-surveys_abs_pathname=
+surveys_metadata_abs_pathname=
 
 # these URL's are used in response.xml so client can access those services
 cutout_url=
-- 
GitLab