com.amazon.redshift.util.DriverInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of redshift-jdbc42 Show documentation
Show all versions of redshift-jdbc42 Show documentation
Java JDBC 4.2 (JRE 8+) driver for Redshift database
/*
* Copyright (c) 2017, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
package com.amazon.redshift.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
* Utility class with constants of Driver information.
*/
public final class DriverInfo {
// Driver name
public static final String DRIVER_NAME = "Redshift JDBC Driver";
public static final String DRIVER_SHORT_NAME = "RsJDBC";
public static final String DRIVER_VERSION;
public static final String DRIVER_FULL_NAME;
// Driver version
public static final int MAJOR_VERSION;
public static final int MINOR_VERSION;
public static final int PATCH_VERSION;
// JDBC specification
public static final String JDBC_VERSION = "4.2";
private static final int JDBC_INTVERSION = 42;
public static final int JDBC_MAJOR_VERSION = JDBC_INTVERSION / 10;
public static final int JDBC_MINOR_VERSION = JDBC_INTVERSION % 10;
static {
String version = "2.0.0.0";
try (InputStream resourceAsStream = DriverInfo.class.getClassLoader().getResourceAsStream("redshift_jdbc_driver.properties")) {
Properties versionFromBuild = new Properties();
versionFromBuild.load(resourceAsStream);
version = versionFromBuild.getProperty("version");
} catch (IOException ex) {
// do nothing
}
String[] versionComponents = version.split("\\.");
int majorVersion = 2;
int minorVersion = 0;
int patchVersion = 0;
try {
if (versionComponents.length >= 3) {
majorVersion = Integer.parseInt(versionComponents[0]);
minorVersion = Integer.parseInt(versionComponents[1]);
patchVersion = Integer.parseInt(versionComponents[2]);
}
else {
version = "2.0.0.0";
}
} catch (NumberFormatException ex) {
majorVersion = 2;
minorVersion = 0;
patchVersion = 0;
}
MAJOR_VERSION = majorVersion;
MINOR_VERSION = minorVersion;
PATCH_VERSION = patchVersion;
DRIVER_VERSION = version;
DRIVER_FULL_NAME = DRIVER_NAME + " " + DRIVER_VERSION;
}
private DriverInfo() {
}
}