Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
eeb418cb
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
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,发现更多精彩内容 >>
提交
eeb418cb
编写于
9月 30, 2015
作者:
J
jurgen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Tools registry
Former-commit-id:
54d29bc2
上级
495c24cc
变更
14
展开全部
隐藏空白更改
内联
并排
Showing
14 changed file
with
1243 addition
and
239 deletion
+1243
-239
plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF
plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF
+1
-0
plugins/org.jkiss.dbeaver.core/plugin.xml
plugins/org.jkiss.dbeaver.core/plugin.xml
+1
-0
plugins/org.jkiss.dbeaver.core/schema/org.jkiss.dbeaver.tools.exsd
...rg.jkiss.dbeaver.core/schema/org.jkiss.dbeaver.tools.exsd
+937
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DataSourceProviderDescriptor.java
.../jkiss/dbeaver/registry/DataSourceProviderDescriptor.java
+6
-50
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/RegistryConstants.java
...ore/src/org/jkiss/dbeaver/registry/RegistryConstants.java
+0
-3
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/tools/ToolDescriptor.java
.../src/org/jkiss/dbeaver/registry/tools/ToolDescriptor.java
+5
-4
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/tools/ToolGroupDescriptor.java
...org/jkiss/dbeaver/registry/tools/ToolGroupDescriptor.java
+5
-4
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/tools/ToolsRegistry.java
...e/src/org/jkiss/dbeaver/registry/tools/ToolsRegistry.java
+108
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceToolsContributor.java
...ver/ui/actions/datasource/DataSourceToolsContributor.java
+6
-7
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorActionExecuteTool.java
...aver/ui/actions/navigator/NavigatorActionExecuteTool.java
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/generator/SQLUtilsPropertyTester.java
...aver/ui/editors/sql/generator/SQLUtilsPropertyTester.java
+3
-8
plugins/org.jkiss.dbeaver.ext.db2/plugin.xml
plugins/org.jkiss.dbeaver.ext.db2/plugin.xml
+54
-51
plugins/org.jkiss.dbeaver.ext.mysql/plugin.xml
plugins/org.jkiss.dbeaver.ext.mysql/plugin.xml
+76
-74
plugins/org.jkiss.dbeaver.ext.oracle/plugin.xml
plugins/org.jkiss.dbeaver.ext.oracle/plugin.xml
+40
-37
未找到文件。
plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF
浏览文件 @
eeb418cb
...
...
@@ -12,6 +12,7 @@ Export-Package: org.jkiss.dbeaver,
org.jkiss.dbeaver.registry.editor,
org.jkiss.dbeaver.registry.encode,
org.jkiss.dbeaver.registry.formatter,
org.jkiss.dbeaver.registry.tools,
org.jkiss.dbeaver.registry.transfer,
org.jkiss.dbeaver.registry.updater,
org.jkiss.dbeaver.runtime,
...
...
plugins/org.jkiss.dbeaver.core/plugin.xml
浏览文件 @
eeb418cb
...
...
@@ -34,6 +34,7 @@
<extension-point
id=
"org.jkiss.dbeaver.resources"
name=
"Resources"
schema=
"schema/org.jkiss.dbeaver.resources.exsd"
/>
<extension-point
id=
"org.jkiss.dbeaver.search"
name=
"Search providers"
schema=
"schema/org.jkiss.dbeaver.search.exsd"
/>
<extension-point
id=
"org.jkiss.dbeaver.resultset.presentation"
name=
"Result set presentations"
schema=
"schema/org.jkiss.dbeaver.resultset.presentation.exsd"
/>
<extension-point
id=
"org.jkiss.dbeaver.tools"
name=
"Tools"
schema=
"schema/org.jkiss.dbeaver.tools.exsd"
/>
<extension
point=
"org.eclipse.core.contenttype.contentTypes"
>
<content-type
...
...
plugins/org.jkiss.dbeaver.core/schema/org.jkiss.dbeaver.tools.exsd
0 → 100644
浏览文件 @
eeb418cb
此差异已折叠。
点击以展开。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DataSourceProviderDescriptor.java
浏览文件 @
eeb418cb
...
...
@@ -18,27 +18,27 @@
package
org.jkiss.dbeaver.registry
;
import
org.jkiss.dbeaver.Log
;
import
org.eclipse.core.runtime.IConfigurationElement
;
import
org.eclipse.jface.text.templates.TemplateContextType
;
import
org.eclipse.jface.viewers.IStructuredSelection
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.model.DBPDataSourceProvider
;
import
org.jkiss.dbeaver.model.DBPImage
;
import
org.jkiss.dbeaver.model.DBPPropertyDescriptor
;
import
org.jkiss.dbeaver.model.impl.AbstractDescriptor
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.model.navigator.meta.*
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.dbeaver.model.impl.PropertyDescriptor
;
import
org.jkiss.dbeaver.model.navigator.meta.*
;
import
org.jkiss.dbeaver.ui.UIIcon
;
import
org.jkiss.utils.ArrayUtils
;
import
org.jkiss.utils.CommonUtils
;
import
org.jkiss.utils.SecurityUtils
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* DataSourceProviderDescriptor
...
...
@@ -63,8 +63,6 @@ public class DataSourceProviderDescriptor extends AbstractDescriptor
private
final
List
<
DBPPropertyDescriptor
>
driverProperties
=
new
ArrayList
<
DBPPropertyDescriptor
>();
private
final
List
<
DriverDescriptor
>
drivers
=
new
ArrayList
<
DriverDescriptor
>();
private
final
List
<
DataSourceViewDescriptor
>
views
=
new
ArrayList
<
DataSourceViewDescriptor
>();
private
final
Map
<
String
,
ToolGroupDescriptor
>
toolGroups
=
new
LinkedHashMap
<
String
,
ToolGroupDescriptor
>();
private
final
List
<
ToolDescriptor
>
tools
=
new
ArrayList
<
ToolDescriptor
>();
private
final
String
parentId
;
public
DataSourceProviderDescriptor
(
DataSourceProviderRegistry
registry
,
IConfigurationElement
config
)
...
...
@@ -122,20 +120,6 @@ public class DataSourceProviderDescriptor extends AbstractDescriptor
}
}
}
// Load tools
{
for
(
IConfigurationElement
toolsElement
:
config
.
getChildren
(
RegistryConstants
.
TAG_TOOLS
))
{
for
(
IConfigurationElement
toolElement
:
toolsElement
.
getChildren
(
RegistryConstants
.
TAG_TOOL_GROUP
))
{
ToolGroupDescriptor
group
=
new
ToolGroupDescriptor
(
this
,
toolElement
);
this
.
toolGroups
.
put
(
group
.
getId
(),
group
);
}
for
(
IConfigurationElement
toolElement
:
toolsElement
.
getChildren
(
RegistryConstants
.
TAG_TOOL
))
{
this
.
tools
.
add
(
new
ToolDescriptor
(
this
,
toolElement
));
}
}
}
}
public
void
dispose
()
...
...
@@ -144,8 +128,6 @@ public class DataSourceProviderDescriptor extends AbstractDescriptor
driver
.
dispose
();
}
drivers
.
clear
();
tools
.
clear
();
toolGroups
.
clear
();
instance
=
null
;
}
...
...
@@ -303,32 +285,6 @@ public class DataSourceProviderDescriptor extends AbstractDescriptor
return
null
;
}
ToolGroupDescriptor
getToolGroup
(
String
id
)
{
return
toolGroups
.
get
(
id
);
}
public
List
<
ToolDescriptor
>
getTools
(
IStructuredSelection
selection
)
{
List
<
DBSObject
>
objects
=
NavigatorUtils
.
getSelectedObjects
(
selection
);
List
<
ToolDescriptor
>
result
=
new
ArrayList
<
ToolDescriptor
>();
for
(
ToolDescriptor
descriptor
:
tools
)
{
if
(
descriptor
.
isSingleton
()
&&
objects
.
size
()
>
1
)
{
continue
;
}
boolean
applies
=
true
;
for
(
DBSObject
object
:
objects
)
{
if
(!
descriptor
.
appliesTo
(
object
))
{
applies
=
false
;
break
;
}
}
if
(
applies
)
{
result
.
add
(
descriptor
);
}
}
return
result
;
}
private
DBXTreeNode
loadTreeInfo
(
IConfigurationElement
config
)
{
DBXTreeItem
treeRoot
=
new
DBXTreeItem
(
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/RegistryConstants.java
浏览文件 @
eeb418cb
...
...
@@ -106,9 +106,6 @@ public class RegistryConstants {
static
final
String
TAG_DRIVER_PROPERTIES
=
"driver-properties"
;
//$NON-NLS-1$
static
final
String
TAG_VIEWS
=
"views"
;
//$NON-NLS-1$
static
final
String
TAG_VIEW
=
"view"
;
//$NON-NLS-1$
static
final
String
TAG_TOOLS
=
"tools"
;
//$NON-NLS-1$
static
final
String
TAG_TOOL
=
"tool"
;
//$NON-NLS-1$
static
final
String
TAG_TOOL_GROUP
=
"toolGroup"
;
//$NON-NLS-1$
public
static
final
String
ATTR_REF
=
"ref"
;
//$NON-NLS-1$
public
static
final
String
ATTR_VISIBLE_IF
=
"visibleIf"
;
//$NON-NLS-1$
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/ToolDescriptor.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/
tools/
ToolDescriptor.java
浏览文件 @
eeb418cb
...
...
@@ -16,13 +16,15 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
package
org.jkiss.dbeaver.registry
;
package
org.jkiss.dbeaver.registry
.tools
;
import
org.eclipse.core.runtime.IConfigurationElement
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.model.DBPImage
;
import
org.jkiss.dbeaver.model.DBPObject
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.registry.AbstractContextDescriptor
;
import
org.jkiss.dbeaver.registry.RegistryConstants
;
import
org.jkiss.dbeaver.tools.IExternalTool
;
import
org.jkiss.utils.CommonUtils
;
...
...
@@ -38,8 +40,7 @@ public class ToolDescriptor extends AbstractContextDescriptor {
private
final
boolean
singleton
;
private
final
ToolGroupDescriptor
group
;
public
ToolDescriptor
(
DataSourceProviderDescriptor
provider
,
IConfigurationElement
config
)
public
ToolDescriptor
(
IConfigurationElement
config
)
{
super
(
config
);
this
.
id
=
config
.
getAttribute
(
RegistryConstants
.
ATTR_ID
);
...
...
@@ -49,7 +50,7 @@ public class ToolDescriptor extends AbstractContextDescriptor {
this
.
icon
=
iconToImage
(
config
.
getAttribute
(
RegistryConstants
.
ATTR_ICON
));
this
.
singleton
=
CommonUtils
.
toBoolean
(
config
.
getAttribute
(
RegistryConstants
.
ATTR_SINGLETON
));
String
groupId
=
config
.
getAttribute
(
RegistryConstants
.
ATTR_GROUP
);
this
.
group
=
CommonUtils
.
isEmpty
(
groupId
)
?
null
:
provider
.
getToolGroup
(
groupId
);
this
.
group
=
CommonUtils
.
isEmpty
(
groupId
)
?
null
:
ToolsRegistry
.
getInstance
()
.
getToolGroup
(
groupId
);
}
public
String
getId
()
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/ToolGroupDescriptor.java
→
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/
tools/
ToolGroupDescriptor.java
浏览文件 @
eeb418cb
...
...
@@ -16,12 +16,14 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
package
org.jkiss.dbeaver.registry
;
package
org.jkiss.dbeaver.registry
.tools
;
import
org.eclipse.core.runtime.IConfigurationElement
;
import
org.jkiss.dbeaver.model.DBPImage
;
import
org.jkiss.dbeaver.model.DBPObject
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.registry.AbstractContextDescriptor
;
import
org.jkiss.dbeaver.registry.RegistryConstants
;
import
org.jkiss.utils.CommonUtils
;
/**
...
...
@@ -34,8 +36,7 @@ public class ToolGroupDescriptor extends AbstractContextDescriptor {
private
final
DBPImage
icon
;
private
final
ToolGroupDescriptor
parent
;
public
ToolGroupDescriptor
(
DataSourceProviderDescriptor
provider
,
IConfigurationElement
config
)
public
ToolGroupDescriptor
(
IConfigurationElement
config
)
{
super
(
config
);
this
.
id
=
config
.
getAttribute
(
RegistryConstants
.
ATTR_ID
);
...
...
@@ -43,7 +44,7 @@ public class ToolGroupDescriptor extends AbstractContextDescriptor {
this
.
description
=
config
.
getAttribute
(
RegistryConstants
.
ATTR_DESCRIPTION
);
this
.
icon
=
iconToImage
(
config
.
getAttribute
(
RegistryConstants
.
ATTR_ICON
));
String
parentId
=
config
.
getAttribute
(
RegistryConstants
.
ATTR_PARENT
);
this
.
parent
=
CommonUtils
.
isEmpty
(
parentId
)
?
null
:
provider
.
getToolGroup
(
parentId
);
this
.
parent
=
CommonUtils
.
isEmpty
(
parentId
)
?
null
:
ToolsRegistry
.
getInstance
()
.
getToolGroup
(
parentId
);
}
public
String
getId
()
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/tools/ToolsRegistry.java
0 → 100644
浏览文件 @
eeb418cb
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2015 Serge Rieder (serge@jkiss.org)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License (version 2)
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
package
org.jkiss.dbeaver.registry.tools
;
import
org.eclipse.core.runtime.IConfigurationElement
;
import
org.eclipse.core.runtime.IExtensionRegistry
;
import
org.eclipse.core.runtime.Platform
;
import
org.eclipse.jface.viewers.IStructuredSelection
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
ToolsRegistry
{
public
static
final
String
EXTENSION_ID
=
"org.jkiss.dbeaver.tools"
;
//$NON-NLS-1$
static
final
String
TAG_TOOLS
=
"tools"
;
//$NON-NLS-1$
static
final
String
TAG_TOOL
=
"tool"
;
//$NON-NLS-1$
static
final
String
TAG_TOOL_GROUP
=
"toolGroup"
;
//$NON-NLS-1$
private
static
ToolsRegistry
instance
=
null
;
public
synchronized
static
ToolsRegistry
getInstance
()
{
if
(
instance
==
null
)
{
instance
=
new
ToolsRegistry
();
instance
.
loadExtensions
(
Platform
.
getExtensionRegistry
());
}
return
instance
;
}
private
final
Map
<
String
,
ToolGroupDescriptor
>
toolGroups
=
new
LinkedHashMap
<
String
,
ToolGroupDescriptor
>();
private
final
List
<
ToolDescriptor
>
tools
=
new
ArrayList
<
ToolDescriptor
>();
private
ToolsRegistry
()
{
}
private
void
loadExtensions
(
IExtensionRegistry
registry
)
{
IConfigurationElement
[]
extConfigs
=
registry
.
getConfigurationElementsFor
(
EXTENSION_ID
);
for
(
IConfigurationElement
toolsElement
:
extConfigs
)
{
// Load tools
{
for
(
IConfigurationElement
toolElement
:
toolsElement
.
getChildren
(
TAG_TOOL_GROUP
))
{
ToolGroupDescriptor
group
=
new
ToolGroupDescriptor
(
toolElement
);
this
.
toolGroups
.
put
(
group
.
getId
(),
group
);
}
for
(
IConfigurationElement
toolElement
:
toolsElement
.
getChildren
(
TAG_TOOL
))
{
this
.
tools
.
add
(
new
ToolDescriptor
(
toolElement
));
}
}
}
}
public
void
dispose
()
{
tools
.
clear
();
toolGroups
.
clear
();
}
ToolGroupDescriptor
getToolGroup
(
String
id
)
{
return
toolGroups
.
get
(
id
);
}
public
List
<
ToolDescriptor
>
getTools
(
IStructuredSelection
selection
)
{
List
<
DBSObject
>
objects
=
NavigatorUtils
.
getSelectedObjects
(
selection
);
List
<
ToolDescriptor
>
result
=
new
ArrayList
<
ToolDescriptor
>();
for
(
ToolDescriptor
descriptor
:
tools
)
{
if
(
descriptor
.
isSingleton
()
&&
objects
.
size
()
>
1
)
{
continue
;
}
boolean
applies
=
true
;
for
(
DBSObject
object
:
objects
)
{
if
(!
descriptor
.
appliesTo
(
object
))
{
applies
=
false
;
break
;
}
}
if
(
applies
)
{
result
.
add
(
descriptor
);
}
}
return
result
;
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceToolsContributor.java
浏览文件 @
eeb418cb
...
...
@@ -28,14 +28,14 @@ import org.eclipse.ui.IWorkbenchPart;
import
org.eclipse.ui.IWorkbenchWindow
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.registry.
Driver
Descriptor
;
import
org.jkiss.dbeaver.registry.
Tool
Descriptor
;
import
org.jkiss.dbeaver.registry.
ToolGroupDescriptor
;
import
org.jkiss.dbeaver.registry.
tools.Tool
Descriptor
;
import
org.jkiss.dbeaver.registry.
tools.ToolGroup
Descriptor
;
import
org.jkiss.dbeaver.registry.
tools.ToolsRegistry
;
import
org.jkiss.dbeaver.ui.ActionUtils
;
import
org.jkiss.dbeaver.ui.DBeaverIcons
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.dbeaver.ui.actions.common.EmptyListAction
;
import
org.jkiss.dbeaver.ui.actions.navigator.NavigatorActionExecuteTool
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.utils.CommonUtils
;
import
java.util.HashMap
;
...
...
@@ -57,9 +57,8 @@ public class DataSourceToolsContributor extends DataSourceMenuContributor
}
DBSObject
selectedObject
=
NavigatorUtils
.
getSelectedObject
((
IStructuredSelection
)
selection
);
if
(
selectedObject
!=
null
&&
selectedObject
.
getDataSource
()
!=
null
)
{
DriverDescriptor
driver
=
(
DriverDescriptor
)
selectedObject
.
getDataSource
().
getContainer
().
getDriver
();
List
<
ToolDescriptor
>
tools
=
driver
.
getProviderDescriptor
().
getTools
((
IStructuredSelection
)
selection
);
if
(
selectedObject
!=
null
)
{
List
<
ToolDescriptor
>
tools
=
ToolsRegistry
.
getInstance
().
getTools
((
IStructuredSelection
)
selection
);
fillToolsMenu
(
menuItems
,
tools
,
selection
);
}
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorActionExecuteTool.java
浏览文件 @
eeb418cb
...
...
@@ -26,7 +26,7 @@ import org.eclipse.ui.IWorkbenchWindow;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.registry.ToolDescriptor
;
import
org.jkiss.dbeaver.registry.
tools.
ToolDescriptor
;
import
org.jkiss.dbeaver.tools.IExternalTool
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.dbeaver.ui.UIUtils
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/generator/SQLUtilsPropertyTester.java
浏览文件 @
eeb418cb
...
...
@@ -24,11 +24,11 @@ import org.jkiss.dbeaver.model.navigator.DBNDatabaseNode;
import
org.jkiss.dbeaver.model.navigator.DBNNode
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.model.struct.rdb.DBSTable
;
import
org.jkiss.dbeaver.registry.
DataSourceDescriptor
;
import
org.jkiss.dbeaver.registry.
tools.ToolsRegistry
;
import
org.jkiss.dbeaver.runtime.RuntimeUtils
;
import
org.jkiss.dbeaver.ui.ActionUtils
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.dbeaver.ui.controls.resultset.IResultSetSelection
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.utils.CommonUtils
;
/**
...
...
@@ -36,8 +36,6 @@ import org.jkiss.utils.CommonUtils;
*/
public
class
SQLUtilsPropertyTester
extends
PropertyTester
{
//static final Log log = Log.getLog(SQLEditorPropertyTester.class);
public
static
final
String
NAMESPACE
=
"org.jkiss.dbeaver.ui.editors.sql.util"
;
public
static
final
String
PROP_CAN_GENERATE
=
"canGenerate"
;
public
static
final
String
PROP_HAS_TOOLS
=
"hasTools"
;
...
...
@@ -71,10 +69,7 @@ public class SQLUtilsPropertyTester extends PropertyTester
}
}
else
if
(
property
.
equals
(
PROP_HAS_TOOLS
))
{
DBSObject
object
=
NavigatorUtils
.
getSelectedObject
(
structuredSelection
);
if
(
object
!=
null
&&
object
.
getDataSource
()
!=
null
)
{
DataSourceDescriptor
container
=
(
DataSourceDescriptor
)
object
.
getDataSource
().
getContainer
();
return
!
CommonUtils
.
isEmpty
(
container
.
getDriver
().
getProviderDescriptor
().
getTools
(
structuredSelection
));
}
return
object
!=
null
&&
!
CommonUtils
.
isEmpty
(
ToolsRegistry
.
getInstance
().
getTools
(
structuredSelection
));
}
return
false
;
}
...
...
plugins/org.jkiss.dbeaver.ext.db2/plugin.xml
浏览文件 @
eeb418cb
...
...
@@ -389,57 +389,6 @@
</view>
</views>
<tools>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.DB2ToolShowError"
description=
"Display SQL Error Message"
id=
"org.jkiss.dbeaver.ext.db2.tools.DB2ToolShowError"
label=
"%tool.org.jkiss.dbeaver.ext.db2.showerror.name"
singleton=
"true"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2DataSource"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2RunstatsTool"
description=
"Runstats"
id=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2RunstatsTool"
label=
"%tool.org.jkiss.dbeaver.ext.db2.table.runstats.name"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2Table"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgTableTool"
description=
"Reorg table"
id=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgTableTool"
label=
"%tool.org.jkiss.dbeaver.ext.db2.table.reorg.name"
singleton=
"true"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2Table"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgIndexTool"
description=
"Reorg index"
id=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgIndexTool"
label=
"%tool.org.jkiss.dbeaver.ext.db2.table.reorgix.name"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2Table"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgCheckTableTool"
description=
"Reorg check table"
id=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgCheckTableTool"
label=
"%tool.org.jkiss.dbeaver.ext.db2.table.reorgcheck.name"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2Table"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2TruncateTool"
description=
"Truncate table"
id=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2Truncate"
label=
"%tool.org.jkiss.dbeaver.ext.db2.table.truncate.name"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2Table"
/>
</tool>
</tools>
</datasource>
</extension>
...
...
@@ -516,6 +465,60 @@
</provider>
</extension>
<extension
point=
"org.jkiss.dbeaver.tools"
>
<tools>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.DB2ToolShowError"
description=
"Display SQL Error Message"
id=
"org.jkiss.dbeaver.ext.db2.tools.DB2ToolShowError"
label=
"%tool.org.jkiss.dbeaver.ext.db2.showerror.name"
singleton=
"true"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2DataSource"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2RunstatsTool"
description=
"Runstats"
id=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2RunstatsTool"
label=
"%tool.org.jkiss.dbeaver.ext.db2.table.runstats.name"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2Table"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgTableTool"
description=
"Reorg table"
id=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgTableTool"
label=
"%tool.org.jkiss.dbeaver.ext.db2.table.reorg.name"
singleton=
"true"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2Table"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgIndexTool"
description=
"Reorg index"
id=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgIndexTool"
label=
"%tool.org.jkiss.dbeaver.ext.db2.table.reorgix.name"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2Table"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgCheckTableTool"
description=
"Reorg check table"
id=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2ReorgCheckTableTool"
label=
"%tool.org.jkiss.dbeaver.ext.db2.table.reorgcheck.name"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2Table"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2TruncateTool"
description=
"Truncate table"
id=
"org.jkiss.dbeaver.ext.db2.tools.maintenance.DB2Truncate"
label=
"%tool.org.jkiss.dbeaver.ext.db2.table.truncate.name"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.db2.model.DB2Table"
/>
</tool>
</tools>
</extension>
<extension
point=
"org.eclipse.ui.editors"
>
<editor
name=
"Application Manager"
...
...
plugins/org.jkiss.dbeaver.ext.mysql/plugin.xml
浏览文件 @
eeb418cb
...
...
@@ -20,8 +20,7 @@
<plugin>
<extension
point=
"org.jkiss.dbeaver.dataSourceProvider"
>
<extension
point=
"org.jkiss.dbeaver.dataSourceProvider"
>
<datasource
class=
"org.jkiss.dbeaver.ext.mysql.MySQLDataSourceProvider"
description=
"MySQL connector"
...
...
@@ -174,78 +173,6 @@
class=
"org.jkiss.dbeaver.ext.mysql.views.MySQLConnectionPage"
>
</view>
</views>
<tools>
<toolGroup
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance"
label=
"Table Maintenance"
icon=
"#tools"
/>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolExport"
description=
"Export database"
id=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolExport"
label=
"Export database"
icon=
"#export"
singleton=
"true"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLCatalog"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolImport"
description=
"Import database"
id=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolImport"
label=
"Import database"
icon=
"#import"
singleton=
"true"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLCatalog"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolScript"
description=
"Execute script with native client"
id=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolScript"
label=
"Execute script"
singleton=
"true"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLCatalog"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolAnalyse"
description=
"Analyse table(s)"
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolAnalyse"
label=
"Analyse"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLTable"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolCheck"
description=
"Check table(s)"
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolCheck"
label=
"Check"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLTable"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolOptimize"
description=
"Optimize table(s)"
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolOptimize"
label=
"Optimize"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLTable"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolRepair"
description=
"Repair table(s)"
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolRepair"
label=
"Repair"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLTable"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolTruncate"
description=
"Truncate table(s)"
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolTruncate"
label=
"Truncate"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLTable"
/>
</tool>
</tools>
</datasource>
</extension>
...
...
@@ -346,4 +273,79 @@
</editor>
</extension>
<extension
point=
"org.jkiss.dbeaver.tools"
>
<tools>
<toolGroup
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance"
label=
"Table Maintenance"
icon=
"#tools"
/>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolExport"
description=
"Export database"
id=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolExport"
label=
"Export database"
icon=
"#export"
singleton=
"true"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLCatalog"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolImport"
description=
"Import database"
id=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolImport"
label=
"Import database"
icon=
"#import"
singleton=
"true"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLCatalog"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolScript"
description=
"Execute script with native client"
id=
"org.jkiss.dbeaver.ext.mysql.tools.MySQLToolScript"
label=
"Execute script"
singleton=
"true"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLCatalog"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolAnalyse"
description=
"Analyse table(s)"
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolAnalyse"
label=
"Analyse"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLTable"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolCheck"
description=
"Check table(s)"
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolCheck"
label=
"Check"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLTable"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolOptimize"
description=
"Optimize table(s)"
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolOptimize"
label=
"Optimize"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLTable"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolRepair"
description=
"Repair table(s)"
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolRepair"
label=
"Repair"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLTable"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolTruncate"
description=
"Truncate table(s)"
id=
"org.jkiss.dbeaver.ext.mysql.tools.maintenance.MySQLToolTruncate"
label=
"Truncate"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.mysql.model.MySQLTable"
/>
</tool>
</tools>
</extension>
</plugin>
plugins/org.jkiss.dbeaver.ext.oracle/plugin.xml
浏览文件 @
eeb418cb
...
...
@@ -308,43 +308,6 @@
class=
"org.jkiss.dbeaver.ext.oracle.views.OracleConnectionPage"
>
</view>
</views>
<tools>
<toolGroup
id=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance"
label=
"Statistics"
/>
<tool
class=
"org.jkiss.dbeaver.ext.oracle.tools.OracleToolScript"
description=
"Execute script with native client"
id=
"org.jkiss.dbeaver.ext.oracle.tools.OracleToolScript"
label=
"Execute in SQL*Plus"
>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleDataSource"
/>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleSchema"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolValidateStructure"
description=
"Validate Structure"
id=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolTruncate"
label=
"Validate Structure"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleTable"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolGatherStatistics"
description=
"Gather statistics"
id=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolGatherStatistics"
label=
"Gather Statistics"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleTable"
/>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleTableIndex"
/>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleSchema"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolTruncate"
description=
"Truncate table"
id=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolTruncate"
label=
"Truncate"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleTable"
/>
</tool>
</tools>
<templates>
<resolver
type=
"orauser"
class=
"org.jkiss.dbeaver.ext.oracle.model.resolvers.OracleUserResolver"
description=
"Current Oracle user"
/>
</templates>
...
...
@@ -432,6 +395,46 @@
</provider>
</extension>
<extension
point=
"org.jkiss.dbeaver.tools"
>
<tools>
<toolGroup
id=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance"
label=
"Statistics"
/>
<tool
class=
"org.jkiss.dbeaver.ext.oracle.tools.OracleToolScript"
description=
"Execute script with native client"
id=
"org.jkiss.dbeaver.ext.oracle.tools.OracleToolScript"
label=
"Execute in SQL*Plus"
>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleDataSource"
/>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleSchema"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolValidateStructure"
description=
"Validate Structure"
id=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolTruncate"
label=
"Validate Structure"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleTable"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolGatherStatistics"
description=
"Gather statistics"
id=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolGatherStatistics"
label=
"Gather Statistics"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleTable"
/>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleTableIndex"
/>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleSchema"
/>
</tool>
<tool
class=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolTruncate"
description=
"Truncate table"
id=
"org.jkiss.dbeaver.ext.oracle.tools.maintenance.OracleToolTruncate"
label=
"Truncate"
singleton=
"false"
>
<objectType
name=
"org.jkiss.dbeaver.ext.oracle.model.OracleTable"
/>
</tool>
</tools>
</extension>
<extension
point=
"org.eclipse.ui.editors"
>
<editor
name=
"Session Manager"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录