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);