You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu> on 2021/10/13 16:46:31 UTC

Change in asterixdb-clients[master]: [NO ISSUE][JDBC] Allow overriding driver version

From Dmitry Lychagin <dm...@couchbase.com>:

Dmitry Lychagin has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb-clients/+/13684 )


Change subject: [NO ISSUE][JDBC] Allow overriding driver version
......................................................................

[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
---
M asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverBase.java
M asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverContext.java
2 files changed, 17 insertions(+), 11 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb-clients refs/changes/84/13684/1

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 @@
         return getParentLogger(getClass());
     }
 
+    protected Logger getLogger() {
+        return Logger.getLogger(getClass().getName());
+    }
+
     private ADBDriverContext getOrCreateDriverContext() {
         ADBDriverContext ctx = context;
         if (ctx == null) {
@@ -220,7 +224,12 @@
     }
 
     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 @@
 
 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 @@
 
     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 @@
 
     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);

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb-clients/+/13684
To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb-clients
Gerrit-Branch: master
Gerrit-Change-Id: Icdd5ff036e27c551defe84ad5caf7fe13f0380ac
Gerrit-Change-Number: 13684
Gerrit-PatchSet: 1
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-MessageType: newchange

Change in asterixdb-clients[master]: [NO ISSUE][JDBC] Allow overriding driver version

Posted by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu>.
From Dmitry Lychagin <dm...@couchbase.com>:

Dmitry Lychagin has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb-clients/+/13684 )


Change subject: [NO ISSUE][JDBC] Allow overriding driver version
......................................................................

[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
---
M asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverBase.java
M asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBDriverContext.java
2 files changed, 17 insertions(+), 11 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb-clients refs/changes/84/13684/1

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 @@
         return getParentLogger(getClass());
     }
 
+    protected Logger getLogger() {
+        return Logger.getLogger(getClass().getName());
+    }
+
     private ADBDriverContext getOrCreateDriverContext() {
         ADBDriverContext ctx = context;
         if (ctx == null) {
@@ -220,7 +224,12 @@
     }
 
     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 @@
 
 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 @@
 
     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 @@
 
     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);

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb-clients/+/13684
To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb-clients
Gerrit-Branch: master
Gerrit-Change-Id: Icdd5ff036e27c551defe84ad5caf7fe13f0380ac
Gerrit-Change-Number: 13684
Gerrit-PatchSet: 1
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-MessageType: newchange