Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
c56f4ac3
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,发现更多精彩内容 >>
提交
c56f4ac3
编写于
8月 27, 2018
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Invalidate notifications feedback
上级
04b1e1aa
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
40 addition
and
10 deletion
+40
-10
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverUI.java
...ss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverUI.java
+10
-4
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceInvalidateHandler.java
...er/ui/actions/datasource/DataSourceInvalidateHandler.java
+2
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectOpen.java
...aver/ui/actions/navigator/NavigatorHandlerObjectOpen.java
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
...ss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
+3
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/jobs/InvalidateJob.java
...del/src/org/jkiss/dbeaver/runtime/jobs/InvalidateJob.java
+13
-3
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/jobs/PingJob.java
...ver.model/src/org/jkiss/dbeaver/runtime/jobs/PingJob.java
+3
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/ui/DBPPlatformUI.java
...model/src/org/jkiss/dbeaver/runtime/ui/DBPPlatformUI.java
+2
-0
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/ui/console/ConsoleUserInterface.java
...kiss/dbeaver/runtime/ui/console/ConsoleUserInterface.java
+6
-0
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverUI.java
浏览文件 @
c56f4ac3
...
...
@@ -31,10 +31,7 @@ import org.jkiss.dbeaver.DBException;
import
org.jkiss.dbeaver.DBeaverPreferences
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.ModelPreferences
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.DBPErrorAssistant
;
import
org.jkiss.dbeaver.model.DBPImage
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.*
;
import
org.jkiss.dbeaver.model.access.DBAAuthInfo
;
import
org.jkiss.dbeaver.model.access.DBAPasswordChangeInfo
;
import
org.jkiss.dbeaver.model.exec.DBCExecutionContext
;
...
...
@@ -44,6 +41,7 @@ import org.jkiss.dbeaver.model.runtime.DBRProcessListener;
import
org.jkiss.dbeaver.model.runtime.load.ILoadService
;
import
org.jkiss.dbeaver.model.runtime.load.ILoadVisualizer
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.registry.DataSourceDescriptor
;
import
org.jkiss.dbeaver.runtime.ui.DBPPlatformUI
;
import
org.jkiss.dbeaver.runtime.ui.DBUserInterface
;
import
org.jkiss.dbeaver.ui.LoadingJob
;
...
...
@@ -306,6 +304,14 @@ public class DBeaverUI implements DBPPlatformUI {
dialog
.
open
();
}
@Override
public
void
openConnectionEditor
(
DBPDataSourceContainer
dataSourceContainer
)
{
UIUtils
.
syncExec
(()
->
NavigatorHandlerObjectOpen
.
openConnectionEditor
(
UIUtils
.
getActiveWorkbenchWindow
(),
(
DataSourceDescriptor
)
dataSourceContainer
));
}
@Override
public
void
executeProcess
(
final
DBRProcessDescriptor
processDescriptor
)
{
processDescriptor
.
setProcessListener
(
new
DBRProcessListener
()
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceInvalidateHandler.java
浏览文件 @
c56f4ac3
...
...
@@ -34,6 +34,7 @@ import org.jkiss.dbeaver.model.IDataSourceContainerProviderEx;
import
org.jkiss.dbeaver.model.exec.DBCExecutionContext
;
import
org.jkiss.dbeaver.runtime.jobs.DisconnectJob
;
import
org.jkiss.dbeaver.runtime.jobs.InvalidateJob
;
import
org.jkiss.dbeaver.runtime.ui.DBUserInterface
;
import
org.jkiss.dbeaver.ui.UITask
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.actions.AbstractDataSourceHandler
;
...
...
@@ -74,6 +75,7 @@ public class DataSourceInvalidateHandler extends AbstractDataSourceHandler
return
;
}
final
InvalidateJob
invalidateJob
=
new
InvalidateJob
(
dataSource
);
invalidateJob
.
setFeedbackHandler
(()
->
DBUserInterface
.
getInstance
().
openConnectionEditor
(
dataSource
.
getContainer
()));
invalidateJob
.
addJobChangeListener
(
new
JobChangeAdapter
()
{
@Override
public
void
done
(
IJobChangeEvent
event
)
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectOpen.java
浏览文件 @
c56f4ac3
...
...
@@ -249,7 +249,7 @@ public class NavigatorHandlerObjectOpen extends NavigatorHandlerObjectBase imple
});
}
p
rivate
static
void
openConnectionEditor
(
IWorkbenchWindow
workbenchWindow
,
DataSourceDescriptor
dataSourceContainer
)
{
p
ublic
static
void
openConnectionEditor
(
IWorkbenchWindow
workbenchWindow
,
DataSourceDescriptor
dataSourceContainer
)
{
EditConnectionDialog
dialog
=
new
EditConnectionDialog
(
workbenchWindow
,
new
EditConnectionWizard
(
dataSourceContainer
));
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
浏览文件 @
c56f4ac3
...
...
@@ -35,6 +35,7 @@ import org.jkiss.dbeaver.model.sql.*;
import
org.jkiss.dbeaver.model.struct.*
;
import
org.jkiss.dbeaver.model.struct.rdb.*
;
import
org.jkiss.dbeaver.runtime.jobs.InvalidateJob
;
import
org.jkiss.dbeaver.runtime.ui.DBUserInterface
;
import
org.jkiss.dbeaver.utils.GeneralUtils
;
import
org.jkiss.dbeaver.utils.RuntimeUtils
;
import
org.jkiss.utils.ArrayUtils
;
...
...
@@ -1574,7 +1575,8 @@ public final class DBUtils {
}
else
{
monitor
=
new
VoidProgressMonitor
();
}
InvalidateJob
.
invalidateDataSource
(
monitor
,
dataSource
,
false
);
InvalidateJob
.
invalidateDataSource
(
monitor
,
dataSource
,
false
,
()
->
DBUserInterface
.
getInstance
().
openConnectionEditor
(
dataSource
.
getContainer
()));
if
(
i
<
tryCount
-
1
)
{
log
.
error
(
"Operation failed. Retry count remains = "
+
(
tryCount
-
i
-
1
),
lastError
);
}
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/jobs/InvalidateJob.java
浏览文件 @
c56f4ac3
...
...
@@ -57,6 +57,7 @@ public class InvalidateJob extends DataSourceJob
private
long
timeSpent
;
private
List
<
ContextInvalidateResult
>
invalidateResults
=
new
ArrayList
<>();
private
Runnable
feedbackHandler
;
public
InvalidateJob
(
DBPDataSource
dataSource
)
...
...
@@ -72,6 +73,14 @@ public class InvalidateJob extends DataSourceJob
return
timeSpent
;
}
public
Runnable
getFeedbackHandler
()
{
return
feedbackHandler
;
}
public
void
setFeedbackHandler
(
Runnable
feedbackHandler
)
{
this
.
feedbackHandler
=
feedbackHandler
;
}
@Override
protected
IStatus
run
(
DBRProgressMonitor
monitor
)
{
...
...
@@ -79,12 +88,12 @@ public class InvalidateJob extends DataSourceJob
// Disable disconnect on failure. It is the worst case anyway.
// Not sure that we should force disconnect even here.
this
.
invalidateResults
=
invalidateDataSource
(
monitor
,
dataSource
,
false
);
this
.
invalidateResults
=
invalidateDataSource
(
monitor
,
dataSource
,
false
,
feedbackHandler
);
return
Status
.
OK_STATUS
;
}
public
static
List
<
ContextInvalidateResult
>
invalidateDataSource
(
DBRProgressMonitor
monitor
,
DBPDataSource
dataSource
,
boolean
disconnectOnFailure
)
{
public
static
List
<
ContextInvalidateResult
>
invalidateDataSource
(
DBRProgressMonitor
monitor
,
DBPDataSource
dataSource
,
boolean
disconnectOnFailure
,
Runnable
feedback
)
{
long
timeSpent
=
0
;
List
<
ContextInvalidateResult
>
invalidateResults
=
new
ArrayList
<>();
...
...
@@ -157,7 +166,8 @@ public class InvalidateJob extends DataSourceJob
dataSource
,
DBeaverNotifications
.
NT_RECONNECT
,
"Datasource invalidate failed"
,
DBPMessageType
.
ERROR
);
DBPMessageType
.
ERROR
,
feedback
);
}
else
{
DBeaverNotifications
.
showNotification
(
dataSource
,
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/jobs/PingJob.java
浏览文件 @
c56f4ac3
...
...
@@ -25,6 +25,7 @@ import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import
org.jkiss.dbeaver.model.runtime.AbstractJob
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.DBSInstance
;
import
org.jkiss.dbeaver.runtime.ui.DBUserInterface
;
import
java.util.List
;
...
...
@@ -56,7 +57,8 @@ public class PingJob extends AbstractJob
}
catch
(
Exception
e
)
{
log
.
debug
(
"Context ["
+
dataSource
.
getName
()
+
"::"
+
context
.
getContextName
()
+
"] check failed: "
+
e
.
getMessage
());
if
(
e
instanceof
DBException
)
{
final
List
<
InvalidateJob
.
ContextInvalidateResult
>
results
=
InvalidateJob
.
invalidateDataSource
(
monitor
,
dataSource
,
false
);
final
List
<
InvalidateJob
.
ContextInvalidateResult
>
results
=
InvalidateJob
.
invalidateDataSource
(
monitor
,
dataSource
,
false
,
()
->
DBUserInterface
.
getInstance
().
openConnectionEditor
(
dataSource
.
getContainer
()));
log
.
debug
(
"Connection invalidated: "
+
results
);
}
}
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/ui/DBPPlatformUI.java
浏览文件 @
c56f4ac3
...
...
@@ -21,6 +21,7 @@ import org.eclipse.core.runtime.IStatus;
import
org.eclipse.core.runtime.jobs.Job
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.DBPImage
;
import
org.jkiss.dbeaver.model.access.DBAAuthInfo
;
import
org.jkiss.dbeaver.model.access.DBAPasswordChangeInfo
;
...
...
@@ -77,6 +78,7 @@ public interface DBPPlatformUI {
void
openEntityEditor
(
DBSObject
object
);
void
openEntityEditor
(
DBNNode
selectedNode
,
@Nullable
String
defaultPageId
);
void
openSQLViewer
(
@Nullable
DBCExecutionContext
context
,
String
title
,
@Nullable
DBPImage
image
,
String
text
);
void
openConnectionEditor
(
DBPDataSourceContainer
dataSourceContainer
);
// Process execution
void
executeProcess
(
DBRProcessDescriptor
processDescriptor
);
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/ui/console/ConsoleUserInterface.java
浏览文件 @
c56f4ac3
...
...
@@ -21,6 +21,7 @@ import org.eclipse.core.runtime.jobs.Job;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.DBPImage
;
import
org.jkiss.dbeaver.model.access.DBAAuthInfo
;
import
org.jkiss.dbeaver.model.access.DBAPasswordChangeInfo
;
...
...
@@ -105,6 +106,11 @@ public class ConsoleUserInterface implements DBPPlatformUI {
System
.
out
.
println
(
text
);
}
@Override
public
void
openConnectionEditor
(
DBPDataSourceContainer
dataSourceContainer
)
{
// do nothing
}
@Override
public
void
executeProcess
(
DBRProcessDescriptor
processDescriptor
)
{
try
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录