You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by dl...@apache.org on 2021/10/13 16:54:02 UTC

[asterixdb-clients] branch master updated: [NO ISSUE][JDBC] Allow overriding driver version

This is an automated email from the ASF dual-hosted git repository.

dlych pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb-clients.git


The following commit(s) were added to refs/heads/master by this push:
     new 4b44ed9  [NO ISSUE][JDBC] Allow overriding driver version
4b44ed9 is described below

commit 4b44ed9393e73216bbc0e298be7fc3b78b1e922b
Author: Dmitry Lychagin <dm...@couchbase.com>
AuthorDate: Wed Oct 13 09:46:25 2021 -0700

    [NO ISSUE][JDBC] Allow overriding driver version
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Details:
    - Allow extensions to override driver version
    
    Change-Id: Icdd5ff036e27c551defe84ad5caf7fe13f0380ac
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb-clients/+/13684
    Reviewed-by: Dmitry Lychagin <dm...@couchbase.com>
    Reviewed-by: Ian Maxon <im...@uci.edu>
    Tested-by: Ian Maxon <im...@uci.edu>
---
 .../org/apache/asterix/jdbc/core/ADBDriverBase.java     | 11 ++++++++++-
 .../org/apache/asterix/jdbc/core/ADBDriverContext.java  | 17 +++++++----------
 2 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverBase.java b/asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverBase.java
index 9bd8641..9524b1c 100644
--- a/asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverBase.java
+++ b/asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverBase.java
@@ -206,6 +206,10 @@ public abstract class ADBDriverBase {
         return getParentLogger(getClass());
     }
 
+    protected Logger getLogger() {
+        return Logger.getLogger(getClass().getName());
+    }
+
     private ADBDriverContext getOrCreateDriverContext() {
         ADBDriverContext ctx = context;
         if (ctx == null) {
@@ -220,7 +224,12 @@ public abstract class ADBDriverBase {
     }
 
     protected ADBDriverContext createDriverContext() {
-        return new ADBDriverContext(getClass(), getDriverSupportedProperties(), createErrorReporter());
+        return new ADBDriverContext(getDriverVersion(), getDriverSupportedProperties(), createErrorReporter(),
+                getLogger());
+    }
+
+    protected ADBProductVersion getDriverVersion() {
+        return ADBProductVersion.parseDriverVersion(getClass().getPackage());
     }
 
     protected Collection<ADBDriverProperty> getDriverSupportedProperties() {
diff --git a/asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverContext.java b/asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverContext.java
index 3a7401f..f81bb9f 100644
--- a/asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverContext.java
+++ b/asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverContext.java
@@ -38,14 +38,12 @@ import com.fasterxml.jackson.databind.module.SimpleModule;
 
 public class ADBDriverContext {
 
-    private final Class<? extends ADBDriverBase> driverClass;
-
-    private final ADBErrorReporter errorReporter;
-
     private final ADBProductVersion driverVersion;
 
     private final Map<String, ADBDriverProperty> supportedProperties;
 
+    private final ADBErrorReporter errorReporter;
+
     private final Logger logger;
 
     private final ObjectReader genericObjectReader;
@@ -56,12 +54,11 @@ public class ADBDriverContext {
 
     private final ObjectWriter admFormatObjectWriter;
 
-    ADBDriverContext(Class<? extends ADBDriverBase> driverClass,
-            Collection<ADBDriverProperty> driverSupportedProperties, ADBErrorReporter errorReporter) {
-        this.driverClass = Objects.requireNonNull(driverClass);
+    public ADBDriverContext(ADBProductVersion driverVersion, Collection<ADBDriverProperty> driverSupportedProperties,
+            ADBErrorReporter errorReporter, Logger logger) {
+        this.driverVersion = Objects.requireNonNull(driverVersion);
         this.errorReporter = Objects.requireNonNull(errorReporter);
-        this.logger = Logger.getLogger(driverClass.getName());
-        this.driverVersion = ADBProductVersion.parseDriverVersion(driverClass.getPackage());
+        this.logger = Objects.requireNonNull(logger);
         this.supportedProperties = createPropertyIndexByName(driverSupportedProperties);
 
         ObjectMapper genericObjectMapper = createGenericObjectMapper();
@@ -86,7 +83,7 @@ public class ADBDriverContext {
 
     protected ObjectMapper createADMFormatObjectMapper() {
         ObjectMapper mapper = new ObjectMapper();
-        SimpleModule serdeModule = new SimpleModule(driverClass.getName());
+        SimpleModule serdeModule = new SimpleModule(getClass().getName());
         ADBStatement.configureADMFormatSerialization(serdeModule);
         ADBRowStore.configureADMFormatDeserialization(mapper, serdeModule);
         mapper.registerModule(serdeModule);