提交 2261d8aa 编写于 作者: E Evgeny Fradkin

#2213 Use environment variables in SSH Tunnel settings


Former-commit-id: 0a9d8154
上级 859e51e0
......@@ -711,6 +711,9 @@ public class DataSourceDescriptor
}
*/
if (preferenceStore.getBoolean(ModelPreferences.CONNECT_USE_ENV_VARS)) {
tunnelConfiguration.resolveSystemEnvironmentVariables();
}
tunnelConnectionInfo = tunnel.initializeTunnel(monitor, registry.getPlatform(), tunnelConfiguration, connectionInfo);
} catch (Exception e) {
throw new DBCException("Can't initialize tunnel", e);
......
......@@ -20,6 +20,8 @@ import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.model.connection.DBPDriver;
import org.jkiss.dbeaver.model.impl.net.SSHConstants;
import org.jkiss.dbeaver.utils.GeneralUtils;
import org.jkiss.utils.CommonUtils;
import java.util.HashMap;
......@@ -152,4 +154,16 @@ public class DBWHandlerConfiguration {
this.savePassword == source.savePassword &&
CommonUtils.equalObjects(this.properties, source.properties);
}
public void resolveSystemEnvironmentVariables() {
userName = GeneralUtils.replaceSystemEnvironmentVariables(userName);
password = GeneralUtils.replaceSystemEnvironmentVariables(password);
for (String prop : new String[] {SSHConstants.PROP_HOST, SSHConstants.PROP_PORT}) {
String value = this.properties.get(prop);
if (!CommonUtils.isEmpty(value)) {
this.properties.put(prop, GeneralUtils.replaceSystemEnvironmentVariables(value));
}
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册