CB-1619 Driver default host property + DBConstants refactoring

This commit is contained in:
Serge Rider
2022-02-15 17:42:52 +03:00
parent f35a34f1bf
commit 03f957a08f
4 changed files with 13 additions and 6 deletions
@@ -180,6 +180,7 @@ type DriverInfo {
providerId: ID
# Driver Java class name
driverClassName: String
defaultHost: String
defaultPort: String
defaultDatabase: String
defaultServer: String
@@ -20,6 +20,7 @@ import io.cloudbeaver.DBWebException;
import io.cloudbeaver.WebServiceUtils;
import io.cloudbeaver.model.session.WebSession;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.model.DBConstants;
import org.jkiss.dbeaver.model.connection.DBPAuthModelDescriptor;
import org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration;
import org.jkiss.dbeaver.model.connection.DBPDriver;
@@ -30,6 +31,7 @@ import org.jkiss.dbeaver.registry.DataSourceProviderRegistry;
import org.jkiss.dbeaver.registry.network.NetworkHandlerDescriptor;
import org.jkiss.dbeaver.registry.network.NetworkHandlerRegistry;
import org.jkiss.dbeaver.runtime.properties.PropertySourceCustom;
import org.jkiss.utils.CommonUtils;
import java.util.Arrays;
import java.util.Map;
@@ -84,6 +86,11 @@ public class WebDatabaseDriverConfig {
return driver.getDriverClassName();
}
@Property
public String getDefaultHost() {
return CommonUtils.toString(driver.getDefaultHost(), DBConstants.HOST_LOCALHOST);
}
@Property
public String getDefaultPort() {
return driver.getDefaultPort();
@@ -96,7 +103,8 @@ public class WebDatabaseDriverConfig {
@Property
public String getDefaultServer() {
return driver.getDefaultServer();
// defaultHost and defaultServer are different properties
return getDefaultHost();
}
@Property
@@ -169,7 +177,7 @@ public class WebDatabaseDriverConfig {
try {
DBPConnectionConfiguration cfg = new DBPConnectionConfiguration();
cfg.setUrl(driver.getSampleURL());
cfg.setHostName("localhost");
cfg.setHostName(DBConstants.HOST_LOCALHOST);
cfg.setHostPort(driver.getDefaultPort());
cfg.setUrl(driver.getConnectionURL(cfg));
DBPPropertyDescriptor[] properties = driver.getDataSourceProvider().getConnectionProperties(webSession.getProgressMonitor(), driver, cfg);
@@ -74,9 +74,6 @@ public class CBConstants {
public static final String DEFAUL_APP_ANONYMOUS_ROLE_NAME = "user";
public static final String DEFAULT_SERVER_ADDR = "localhost";
public static final String VAR_CB_LOCAL_HOST_ADDR = "CB_LOCAL_HOST_ADDR";
public static final String VAR_HOST_DOCKER_INTERNAL = "host.docker.internal";
@@ -31,6 +31,7 @@ import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.model.DBConstants;
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import org.jkiss.dbeaver.model.app.DBPDataSourceRegistry;
import org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration;
@@ -453,7 +454,7 @@ public class WebServiceCore implements DBWServiceCore {
if (handler instanceof DBWTunnel) {
DBWTunnel tunnel = (DBWTunnel)handler;
DBPConnectionConfiguration connectionConfig = new DBPConnectionConfiguration();
connectionConfig.setHostName("localhost");
connectionConfig.setHostName(DBConstants.HOST_LOCALHOST);
connectionConfig.setHostPort(CommonUtils.toString(nhConfig.getProperties().get(DBWHandlerConfiguration.PROP_PORT)));
try {
monitor.subTask("Initialize tunnel");