Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
039c276b
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dbeaver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
039c276b
编写于
5月 17, 2013
作者:
J
jurgen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SSH keep-alive support
Former-commit-id:
ec9bd792
上级
0203c5c4
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
25 addition
and
0 deletion
+25
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java
...dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java
+2
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties
....core/src/org/jkiss/dbeaver/core/CoreResources.properties
+1
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources_ru.properties
...re/src/org/jkiss/dbeaver/core/CoreResources_ru.properties
+1
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/net/ssh/SSHConstants.java
...ore/src/org/jkiss/dbeaver/model/net/ssh/SSHConstants.java
+2
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/net/ssh/SSHTunnelConfiguratorUI.java
.../jkiss/dbeaver/model/net/ssh/SSHTunnelConfiguratorUI.java
+14
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/net/ssh/SSHTunnelImpl.java
...re/src/org/jkiss/dbeaver/model/net/ssh/SSHTunnelImpl.java
+5
-0
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java
浏览文件 @
039c276b
...
...
@@ -1126,6 +1126,8 @@ public class CoreMessages extends NLS {
public
static
String
model_ssh_configurator_label_user_name
;
public
static
String
model_ssh_configurator_label_keep_alive
;
public
static
String
model_struct_Cascade
;
public
static
String
model_struct_Check
;
public
static
String
model_struct_Clustered
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties
浏览文件 @
039c276b
...
...
@@ -742,6 +742,7 @@ model_ssh_configurator_label_password=Password
model_ssh_configurator_label_port
=
Port
model_ssh_configurator_label_private_key
=
Private Key
model_ssh_configurator_label_user_name
=
User Name
model_ssh_configurator_label_keep_alive
=
Keep-Alive interval (sec)
model_struct_Cascade
=
Cascade
model_struct_Check
=
Check
model_struct_Clustered
=
Clustered
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources_ru.properties
浏览文件 @
039c276b
...
...
@@ -784,6 +784,7 @@ model_ssh_configurator_label_host_ip=\u0425\u043E\u0441\u0442/IP
model_ssh_configurator_label_port
=
\u
041F
\u
043E
\u0440\u0442
model_ssh_configurator_label_private_key=
\u0421\u0435\u
043A
\u0440\u0435\u0442\u
043D
\u
044B
\u0439
\u
043A
\u
043B
\u
044E
\u0447
model_ssh_configurator_label_user_name=
\u0418\u
043C
\u
044F
\u
043F
\u
043E
\u
043B
\u
044C
\u0437
-
\u
043B
\u
044F
model_ssh_configurator_label_keep_alive
=
\u0418\u
043D
\u0442\u0435\u0440\u0432\u0430\u
043B keep-alive (
\u0441\u0435\u
043A)
dialog_view_classpath_title
=
\u0421\u0438\u0441\u0442\u0435\u
043C
\u
043D
\u
044B
\u0439
CLASSPATH
editor_binary_hex_status_line_offset
=
\u0421\u
043C
\u0435\u0449\u0435\u
043D
\u0438\u0435\:
editor_binary_hex_status_line_selection=
\u0412\u
044B
\u0434\u0435\u
043B
\u0435\u
043D
\u0438\u0435\:
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/net/ssh/SSHConstants.java
浏览文件 @
039c276b
...
...
@@ -29,6 +29,8 @@ public class SSHConstants {
public
static
final
String
PROP_PORT
=
"port"
;
public
static
final
String
PROP_AUTH_TYPE
=
"authType"
;
public
static
final
String
PROP_KEY_PATH
=
"keyPath"
;
public
static
final
String
PROP_ALIVE_INTERVAL
=
"aliveInterval"
;
public
static
final
String
PROP_ALIVE_COUNT
=
"aliveCount"
;
public
static
enum
AuthType
{
PASSWORD
,
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/net/ssh/SSHTunnelConfiguratorUI.java
浏览文件 @
039c276b
...
...
@@ -48,6 +48,7 @@ public class SSHTunnelConfiguratorUI implements IObjectPropertyConfigurator<DBWH
private
Button
savePasswordCheckbox
;
private
Label
privateKeyLabel
;
private
Composite
pkControlGroup
;
private
Spinner
keepAliveText
;
@Override
public
void
createControl
(
Composite
parent
)
...
...
@@ -109,6 +110,8 @@ public class SSHTunnelConfiguratorUI implements IObjectPropertyConfigurator<DBWH
UIUtils
.
createPlaceholder
(
composite
,
1
);
savePasswordCheckbox
=
UIUtils
.
createCheckbox
(
composite
,
CoreMessages
.
model_ssh_configurator_checkbox_save_pass
,
false
);
keepAliveText
=
UIUtils
.
createLabelSpinner
(
composite
,
CoreMessages
.
model_ssh_configurator_label_keep_alive
,
0
,
0
,
Integer
.
MAX_VALUE
);
}
@Override
...
...
@@ -130,6 +133,11 @@ public class SSHTunnelConfiguratorUI implements IObjectPropertyConfigurator<DBWH
passwordText
.
setText
(
CommonUtils
.
getString
(
configuration
.
getPassword
()));
savePasswordCheckbox
.
setSelection
(
configuration
.
isSavePassword
());
String
kaString
=
configuration
.
getProperties
().
get
(
SSHConstants
.
PROP_ALIVE_INTERVAL
);
if
(!
CommonUtils
.
isEmpty
(
kaString
))
{
keepAliveText
.
setSelection
(
Integer
.
parseInt
(
kaString
));
}
updatePrivateKeyVisibility
();
}
...
...
@@ -148,6 +156,12 @@ public class SSHTunnelConfiguratorUI implements IObjectPropertyConfigurator<DBWH
configuration
.
setUserName
(
userNameText
.
getText
());
configuration
.
setPassword
(
passwordText
.
getText
());
configuration
.
setSavePassword
(
savePasswordCheckbox
.
getSelection
());
int
kaInterval
=
keepAliveText
.
getSelection
();
if
(
kaInterval
<=
0
)
{
properties
.
remove
(
SSHConstants
.
PROP_ALIVE_INTERVAL
);
}
else
{
properties
.
put
(
SSHConstants
.
PROP_ALIVE_INTERVAL
,
String
.
valueOf
(
kaInterval
));
}
}
private
void
updatePrivateKeyVisibility
()
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/net/ssh/SSHTunnelImpl.java
浏览文件 @
039c276b
...
...
@@ -66,6 +66,8 @@ public class SSHTunnelImpl implements DBWTunnel {
String
sshHost
=
properties
.
get
(
SSHConstants
.
PROP_HOST
);
String
sshPort
=
properties
.
get
(
SSHConstants
.
PROP_PORT
);
String
sshUser
=
configuration
.
getUserName
();
String
aliveInterval
=
properties
.
get
(
SSHConstants
.
PROP_ALIVE_INTERVAL
);
//String aliveCount = properties.get(SSHConstants.PROP_ALIVE_COUNT);
if
(
CommonUtils
.
isEmpty
(
sshHost
))
{
throw
new
DBException
(
"SSH host not specified"
);
}
...
...
@@ -121,6 +123,9 @@ public class SSHTunnelImpl implements DBWTunnel {
session
.
connect
();
try
{
session
.
setPortForwardingL
(
localPort
,
dbHost
,
dbPort
);
if
(!
CommonUtils
.
isEmpty
(
aliveInterval
))
{
session
.
setServerAliveInterval
(
Integer
.
parseInt
(
aliveInterval
));
}
}
catch
(
JSchException
e
)
{
closeTunnel
(
monitor
,
connectionInfo
);
throw
e
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录