Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
4ed3cacb
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,发现更多精彩内容 >>
提交
4ed3cacb
编写于
12月 25, 2018
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#4802 Data editor: "Open With" support
上级
47d0b2b1
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
134 addition
and
36 deletion
+134
-36
plugins/org.jkiss.dbeaver.core/plugin.xml
plugins/org.jkiss.dbeaver.core/plugin.xml
+9
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetHandlerOpenWith.java
...eaver/ui/controls/resultset/ResultSetHandlerOpenWith.java
+66
-16
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
.../jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
+45
-16
plugins/org.jkiss.dbeaver.data.office/plugin.xml
plugins/org.jkiss.dbeaver.data.office/plugin.xml
+6
-2
plugins/org.jkiss.dbeaver.data.transfer/plugin.xml
plugins/org.jkiss.dbeaver.data.transfer/plugin.xml
+2
-1
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/registry/DataTransferProcessorDescriptor.java
...ls/transfer/registry/DataTransferProcessorDescriptor.java
+6
-0
未找到文件。
plugins/org.jkiss.dbeaver.core/plugin.xml
浏览文件 @
4ed3cacb
...
@@ -1360,7 +1360,11 @@
...
@@ -1360,7 +1360,11 @@
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.core.ui.resultset.part"
/></activeWhen>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.core.ui.resultset.part"
/></activeWhen>
</handler>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.openWith"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetHandlerOpenWith"
>
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.openWith"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetHandlerOpenWith"
>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.core.ui.resultset.part"
/></activeWhen>
<enabledWhen>
<with
variable=
"activePart"
>
<test
property=
"org.jkiss.dbeaver.core.resultset.hasData"
/>
</with>
</enabledWhen>
</handler>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.grid.toggleLayout"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetHandlerMain"
>
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.grid.toggleLayout"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetHandlerMain"
>
<!--<activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.resultset.part"/></activeWhen>-->
<!--<activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.resultset.part"/></activeWhen>-->
...
@@ -2584,6 +2588,10 @@
...
@@ -2584,6 +2588,10 @@
<menuContribution
allPopups=
"false"
locationURI=
"menu:org.jkiss.dbeaver.core.resultset.panels"
>
<menuContribution
allPopups=
"false"
locationURI=
"menu:org.jkiss.dbeaver.core.resultset.panels"
>
<dynamic
id=
"org.jkiss.dbeaver.core.resultset.panels"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$PanelsMenuContributor"
/>
<dynamic
id=
"org.jkiss.dbeaver.core.resultset.panels"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$PanelsMenuContributor"
/>
</menuContribution>
</menuContribution>
<!-- RSV open-with drop-down menu -->
<menuContribution
allPopups=
"false"
locationURI=
"menu:org.jkiss.dbeaver.core.resultset.openWith"
>
<dynamic
id=
"org.jkiss.dbeaver.core.resultset.openWith"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetHandlerOpenWith$OpenWithMenuContributor"
/>
</menuContribution>
</extension>
</extension>
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetHandlerOpenWith.java
浏览文件 @
4ed3cacb
...
@@ -22,6 +22,8 @@ import org.eclipse.core.commands.ExecutionException;
...
@@ -22,6 +22,8 @@ import org.eclipse.core.commands.ExecutionException;
import
org.eclipse.core.commands.IParameterValues
;
import
org.eclipse.core.commands.IParameterValues
;
import
org.eclipse.core.runtime.IStatus
;
import
org.eclipse.core.runtime.IStatus
;
import
org.eclipse.core.runtime.Status
;
import
org.eclipse.core.runtime.Status
;
import
org.eclipse.jface.action.IContributionItem
;
import
org.eclipse.ui.actions.CompoundContributionItem
;
import
org.eclipse.ui.commands.IElementUpdater
;
import
org.eclipse.ui.commands.IElementUpdater
;
import
org.eclipse.ui.handlers.HandlerUtil
;
import
org.eclipse.ui.handlers.HandlerUtil
;
import
org.eclipse.ui.menus.UIElement
;
import
org.eclipse.ui.menus.UIElement
;
...
@@ -29,6 +31,7 @@ import org.jkiss.dbeaver.Log;
...
@@ -29,6 +31,7 @@ import org.jkiss.dbeaver.Log;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.data.DBDAttributeBinding
;
import
org.jkiss.dbeaver.model.data.DBDAttributeBinding
;
import
org.jkiss.dbeaver.model.data.DBDDataFilter
;
import
org.jkiss.dbeaver.model.data.DBDDataFilter
;
import
org.jkiss.dbeaver.model.preferences.DBPPreferenceStore
;
import
org.jkiss.dbeaver.model.preferences.DBPPropertyDescriptor
;
import
org.jkiss.dbeaver.model.preferences.DBPPropertyDescriptor
;
import
org.jkiss.dbeaver.model.runtime.AbstractJob
;
import
org.jkiss.dbeaver.model.runtime.AbstractJob
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
...
@@ -48,10 +51,7 @@ import org.jkiss.utils.CommonUtils;
...
@@ -48,10 +51,7 @@ import org.jkiss.utils.CommonUtils;
import
java.io.File
;
import
java.io.File
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* Open results in external application
* Open results in external application
...
@@ -63,6 +63,8 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
...
@@ -63,6 +63,8 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
public
static
final
String
CMD_OPEN_WITH
=
"org.jkiss.dbeaver.core.resultset.openWith"
;
public
static
final
String
CMD_OPEN_WITH
=
"org.jkiss.dbeaver.core.resultset.openWith"
;
public
static
final
String
PARAM_PROCESSOR_ID
=
"processorId"
;
public
static
final
String
PARAM_PROCESSOR_ID
=
"processorId"
;
public
static
final
String
PARAM_ACTIVE_APP
=
"org.jkiss.dbeaver.core.resultset.openWith.currentApp"
;
@Override
@Override
public
Object
execute
(
ExecutionEvent
event
)
throws
ExecutionException
public
Object
execute
(
ExecutionEvent
event
)
throws
ExecutionException
{
{
...
@@ -70,25 +72,40 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
...
@@ -70,25 +72,40 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
if
(
resultSet
==
null
)
{
if
(
resultSet
==
null
)
{
return
null
;
return
null
;
}
}
String
processorId
=
event
.
getParameter
(
PARAM_PROCESSOR_ID
);
DataTransferProcessorDescriptor
processor
=
getActiveProcessor
(
event
.
getParameter
(
PARAM_PROCESSOR_ID
));
if
(
processorId
==
null
)
{
if
(
processor
==
null
)
{
return
null
;
return
null
;
}
}
switch
(
event
.
getCommand
().
getId
())
{
switch
(
event
.
getCommand
().
getId
())
{
case
CMD_OPEN_WITH:
case
CMD_OPEN_WITH:
openResultsWith
(
resultSet
,
processor
Id
);
openResultsWith
(
resultSet
,
processor
);
break
;
break
;
}
}
return
null
;
return
null
;
}
}
private
static
void
openResultsWith
(
IResultSetController
resultSet
,
String
processorId
)
{
static
DataTransferProcessorDescriptor
getActiveProcessor
(
String
processorId
)
{
DataTransferProcessorDescriptor
processor
=
DataTransferRegistry
.
getInstance
().
getProcessor
(
processorId
);
if
(
CommonUtils
.
isEmpty
(
processorId
))
{
if
(
processor
==
null
)
{
processorId
=
DBWorkbench
.
getPlatform
().
getPreferenceStore
().
getString
(
PARAM_ACTIVE_APP
);
log
.
debug
(
"Processor '"
+
processorId
+
"' not found"
);
}
return
;
if
(
CommonUtils
.
isEmpty
(
processorId
))
{
DataTransferProcessorDescriptor
defaultAppProcessor
=
getDefaultProcessor
();
if
(
defaultAppProcessor
!=
null
)
{
return
defaultAppProcessor
;
}
}
else
{
return
DataTransferRegistry
.
getInstance
().
getProcessor
(
processorId
);
}
}
openResultsWith
(
resultSet
,
processor
);
return
null
;
}
static
DataTransferProcessorDescriptor
getDefaultProcessor
()
{
DataTransferProcessorDescriptor
defaultAppProcessor
=
getDefaultAppProcessor
();
if
(
defaultAppProcessor
!=
null
)
{
return
defaultAppProcessor
;
}
return
null
;
}
}
private
static
void
openResultsWith
(
IResultSetController
resultSet
,
DataTransferProcessorDescriptor
processor
)
{
private
static
void
openResultsWith
(
IResultSetController
resultSet
,
DataTransferProcessorDescriptor
processor
)
{
...
@@ -116,6 +133,13 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
...
@@ -116,6 +133,13 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
return
;
return
;
}
}
DBPPreferenceStore
preferenceStore
=
DBWorkbench
.
getPlatform
().
getPreferenceStore
();
String
prevActiveApp
=
preferenceStore
.
getString
(
PARAM_ACTIVE_APP
);
if
(!
CommonUtils
.
equalObjects
(
prevActiveApp
,
processor
.
getFullId
()))
{
//preferenceStore.setValue(PARAM_ACTIVE_APP, processor.getFullId());
//resultSet.updateEditControls();
//resultSet.getControl().layout(true);
}
AbstractJob
exportJob
=
new
AbstractJob
(
"Open "
+
processor
.
getAppName
())
{
AbstractJob
exportJob
=
new
AbstractJob
(
"Open "
+
processor
.
getAppName
())
{
...
@@ -186,9 +210,8 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
...
@@ -186,9 +210,8 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
@Override
@Override
public
void
updateElement
(
UIElement
element
,
Map
parameters
)
{
public
void
updateElement
(
UIElement
element
,
Map
parameters
)
{
// Put processor name in command label
// Put processor name in command label
String
processorId
=
(
String
)
parameters
.
get
(
PARAM_PROCESSOR_ID
);
DataTransferProcessorDescriptor
processor
=
getActiveProcessor
((
String
)
parameters
.
get
(
PARAM_PROCESSOR_ID
));
if
(
processorId
!=
null
)
{
if
(
processor
!=
null
)
{
DataTransferProcessorDescriptor
processor
=
DataTransferRegistry
.
getInstance
().
getProcessor
(
processorId
);
element
.
setText
(
processor
.
getAppName
());
element
.
setText
(
processor
.
getAppName
());
if
(!
CommonUtils
.
isEmpty
(
processor
.
getDescription
()))
{
if
(!
CommonUtils
.
isEmpty
(
processor
.
getDescription
()))
{
element
.
setTooltip
(
processor
.
getDescription
());
element
.
setTooltip
(
processor
.
getDescription
());
...
@@ -199,6 +222,19 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
...
@@ -199,6 +222,19 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
}
}
}
}
private
static
DataTransferProcessorDescriptor
getDefaultAppProcessor
()
{
List
<
DataTransferProcessorDescriptor
>
processors
=
new
ArrayList
<>();
for
(
final
DataTransferNodeDescriptor
consumerNode
:
DataTransferRegistry
.
getInstance
().
getNodes
(
DataTransferNodeDescriptor
.
NodeType
.
CONSUMER
))
{
for
(
DataTransferProcessorDescriptor
processor
:
consumerNode
.
getProcessors
())
{
if
(
processor
.
getAppFileExtension
()
!=
null
)
{
processors
.
add
(
processor
);
}
}
}
processors
.
sort
(
Comparator
.
comparingInt
(
DataTransferProcessorDescriptor:
:
getOrder
));
return
processors
.
isEmpty
()
?
null
:
processors
.
get
(
0
);
}
public
static
class
OpenWithParameterValues
implements
IParameterValues
{
public
static
class
OpenWithParameterValues
implements
IParameterValues
{
@Override
@Override
...
@@ -217,4 +253,18 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
...
@@ -217,4 +253,18 @@ public class ResultSetHandlerOpenWith extends AbstractHandler implements IElemen
}
}
}
}
public
static
class
OpenWithMenuContributor
extends
CompoundContributionItem
{
@Override
protected
IContributionItem
[]
getContributionItems
()
{
final
ResultSetViewer
rsv
=
(
ResultSetViewer
)
ResultSetHandlerMain
.
getActiveResultSet
(
UIUtils
.
getActiveWorkbenchWindow
().
getActivePage
().
getActivePart
());
if
(
rsv
==
null
)
{
return
new
IContributionItem
[
0
];
}
return
rsv
.
fillOpenWithMenu
().
getItems
();
}
}
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
浏览文件 @
4ed3cacb
...
@@ -1014,33 +1014,41 @@ public class ResultSetViewer extends Viewer
...
@@ -1014,33 +1014,41 @@ public class ResultSetViewer extends Viewer
return
items
;
return
items
;
}
}
private
IContributionItem
fillOpenWithMenu
()
{
MenuManager
fillOpenWithMenu
()
{
MenuManager
openWithMenu
=
new
MenuManager
(
ActionUtils
.
findCommandName
(
ResultSetHandlerOpenWith
.
CMD_OPEN_WITH
));
MenuManager
openWithMenu
=
new
MenuManager
(
ActionUtils
.
findCommandName
(
ResultSetHandlerOpenWith
.
CMD_OPEN_WITH
));
ResultSetDataContainerOptions
options
=
new
ResultSetDataContainerOptions
();
ResultSetDataContainerOptions
options
=
new
ResultSetDataContainerOptions
();
ResultSetDataContainer
dataContainer
=
new
ResultSetDataContainer
(
getDataContainer
(),
getModel
(),
options
);
ResultSetDataContainer
dataContainer
=
new
ResultSetDataContainer
(
getDataContainer
(),
getModel
(),
options
);
List
<
DataTransferProcessorDescriptor
>
appProcessors
=
new
ArrayList
<>();
for
(
final
DataTransferNodeDescriptor
consumerNode
:
DataTransferRegistry
.
getInstance
().
getAvailableConsumers
(
Collections
.
singleton
(
dataContainer
)))
{
for
(
final
DataTransferNodeDescriptor
consumerNode
:
DataTransferRegistry
.
getInstance
().
getAvailableConsumers
(
Collections
.
singleton
(
dataContainer
)))
{
for
(
DataTransferProcessorDescriptor
processor
:
consumerNode
.
getProcessors
())
{
for
(
DataTransferProcessorDescriptor
processor
:
consumerNode
.
getProcessors
())
{
if
(
processor
.
getAppFileExtension
()
!=
null
)
{
if
(
processor
.
getAppFileExtension
()
!=
null
)
{
CommandContributionItemParameter
params
=
new
CommandContributionItemParameter
(
appProcessors
.
add
(
processor
);
site
,
processor
.
getId
(),
ResultSetHandlerOpenWith
.
CMD_OPEN_WITH
,
CommandContributionItem
.
STYLE_RADIO
);
params
.
label
=
processor
.
getAppName
();
if
(
processor
.
getIcon
()
!=
null
)
{
params
.
icon
=
DBeaverIcons
.
getImageDescriptor
(
processor
.
getIcon
());
}
Map
<
String
,
Object
>
parameters
=
new
HashMap
<>();
parameters
.
put
(
ResultSetHandlerOpenWith
.
PARAM_PROCESSOR_ID
,
processor
.
getFullId
());
params
.
parameters
=
parameters
;
openWithMenu
.
add
(
new
CommandContributionItem
(
params
));
}
}
}
}
}
}
appProcessors
.
sort
(
Comparator
.
comparingInt
(
DataTransferProcessorDescriptor:
:
getOrder
));
for
(
DataTransferProcessorDescriptor
processor
:
appProcessors
)
{
CommandContributionItemParameter
params
=
new
CommandContributionItemParameter
(
site
,
processor
.
getId
(),
ResultSetHandlerOpenWith
.
CMD_OPEN_WITH
,
CommandContributionItem
.
STYLE_RADIO
);
params
.
label
=
processor
.
getAppName
();
if
(
processor
.
getIcon
()
!=
null
)
{
params
.
icon
=
DBeaverIcons
.
getImageDescriptor
(
processor
.
getIcon
());
}
Map
<
String
,
Object
>
parameters
=
new
HashMap
<>();
parameters
.
put
(
ResultSetHandlerOpenWith
.
PARAM_PROCESSOR_ID
,
processor
.
getFullId
());
params
.
parameters
=
parameters
;
openWithMenu
.
add
(
new
CommandContributionItem
(
params
));
}
return
openWithMenu
;
return
openWithMenu
;
}
}
...
@@ -1276,7 +1284,7 @@ public class ResultSetViewer extends Viewer
...
@@ -1276,7 +1284,7 @@ public class ResultSetViewer extends Viewer
"org.jkiss.dbeaver.core.resultset.panels"
,
"org.jkiss.dbeaver.core.resultset.panels"
,
ResultSetHandlerMain
.
CMD_TOGGLE_PANELS
,
ResultSetHandlerMain
.
CMD_TOGGLE_PANELS
,
CommandContributionItem
.
STYLE_PULLDOWN
);
CommandContributionItem
.
STYLE_PULLDOWN
);
ciParam
.
label
=
"Panels"
;
ciParam
.
label
=
CoreMessages
.
controls_resultset_config_panels
;
ciParam
.
mode
=
CommandContributionItem
.
MODE_FORCE_TEXT
;
ciParam
.
mode
=
CommandContributionItem
.
MODE_FORCE_TEXT
;
configToolbar
.
add
(
new
CommandContributionItem
(
ciParam
));
configToolbar
.
add
(
new
CommandContributionItem
(
ciParam
));
}
}
...
@@ -1296,6 +1304,27 @@ public class ResultSetViewer extends Viewer
...
@@ -1296,6 +1304,27 @@ public class ResultSetViewer extends Viewer
{
{
ToolBarManager
addToolbar
=
new
ToolBarManager
(
SWT
.
FLAT
|
SWT
.
HORIZONTAL
|
SWT
.
RIGHT
);
ToolBarManager
addToolbar
=
new
ToolBarManager
(
SWT
.
FLAT
|
SWT
.
HORIZONTAL
|
SWT
.
RIGHT
);
addToolbar
.
add
(
new
GroupMarker
(
TOOLBAR_GROUP_PRESENTATIONS
));
addToolbar
.
add
(
new
GroupMarker
(
TOOLBAR_GROUP_PRESENTATIONS
));
/*
if (false) {
CommandContributionItemParameter ciParam = new CommandContributionItemParameter(
site,
"org.jkiss.dbeaver.core.resultset.openWith",
ResultSetHandlerOpenWith.CMD_OPEN_WITH,
CommandContributionItem.STYLE_PULLDOWN);
ciParam.mode = CommandContributionItem.MODE_FORCE_TEXT;
DataTransferProcessorDescriptor activeProcessor = ResultSetHandlerOpenWith.getDefaultProcessor();
if (activeProcessor != null) {
ciParam.label = activeProcessor.getAppName();
ciParam.icon = DBeaverIcons.getImageDescriptor(activeProcessor.getIcon());
}
Map<String, String> params = new HashMap<>();
//params.put(ResultSetHandlerOpenWith.PARAM_PROCESSOR_ID, "stream:stream.xlsx");
ciParam.parameters = params;
addToolbar.add(new CommandContributionItem(ciParam));
}
*/
addToolbar
.
add
(
new
Separator
(
TOOLBAR_GROUP_ADDITIONS
));
addToolbar
.
add
(
new
Separator
(
TOOLBAR_GROUP_ADDITIONS
));
final
IMenuService
menuService
=
getSite
().
getService
(
IMenuService
.
class
);
final
IMenuService
menuService
=
getSite
().
getService
(
IMenuService
.
class
);
if
(
menuService
!=
null
)
{
if
(
menuService
!=
null
)
{
...
...
plugins/org.jkiss.dbeaver.data.office/plugin.xml
浏览文件 @
4ed3cacb
...
@@ -12,7 +12,8 @@
...
@@ -12,7 +12,8 @@
label=
"%dataTransfer.processor.xlsx.name"
label=
"%dataTransfer.processor.xlsx.name"
binary=
"true"
binary=
"true"
appFileExtension=
"xlsx"
appFileExtension=
"xlsx"
appName=
"Excel"
>
appName=
"Excel"
order=
"10"
>
<propertyGroup
label=
"%dataTransfer.processor.xlsx.propertyGroup.general.label"
>
<propertyGroup
label=
"%dataTransfer.processor.xlsx.propertyGroup.general.label"
>
<property
id=
"extension"
label=
"%dataTransfer.processor.xlsx.property.extension.label"
defaultValue=
"xlsx"
/>
<property
id=
"extension"
label=
"%dataTransfer.processor.xlsx.property.extension.label"
defaultValue=
"xlsx"
/>
...
@@ -55,7 +56,10 @@
...
@@ -55,7 +56,10 @@
<!-- Results viewer status bar additions -->
<!-- Results viewer status bar additions -->
<menuContribution
allPopups=
"false"
locationURI=
"toolbar:org.jkiss.dbeaver.ui.controls.resultset.status?after=presentations"
>
<menuContribution
allPopups=
"false"
locationURI=
"toolbar:org.jkiss.dbeaver.ui.controls.resultset.status?after=presentations"
>
<command
commandId=
"org.jkiss.dbeaver.ext.data.office.results.openSpreadsheet"
style=
"push"
mode=
"FORCE_TEXT"
label=
"%command.org.jkiss.dbeaver.ext.data.office.results.openSpreadsheet.toolbar.label"
/>
<command
commandId=
"org.jkiss.dbeaver.core.resultset.openWith"
style=
"push"
mode=
"FORCE_TEXT"
label=
"%command.org.jkiss.dbeaver.ext.data.office.results.openSpreadsheet.toolbar.label"
>
<parameter
name=
"processorId"
value=
"stream_consumer:stream.xlsx"
>
</parameter>
</command>
</menuContribution>
</menuContribution>
</extension>
</extension>
...
...
plugins/org.jkiss.dbeaver.data.transfer/plugin.xml
浏览文件 @
4ed3cacb
...
@@ -170,7 +170,8 @@
...
@@ -170,7 +170,8 @@
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/misc/html.png"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/misc/html.png"
label=
"%dataTransfer.processor.html.name"
label=
"%dataTransfer.processor.html.name"
appFileExtension=
"html"
appFileExtension=
"html"
appName=
"Web browser"
>
appName=
"Web browser"
order=
"20"
>
<propertyGroup
label=
"%dataTransfer.processor.html.propertyGroup.general.label"
>
<propertyGroup
label=
"%dataTransfer.processor.html.propertyGroup.general.label"
>
<property
id=
"extension"
label=
"%dataTransfer.processor.html.property.extension.label"
defaultValue=
"html"
/>
<property
id=
"extension"
label=
"%dataTransfer.processor.html.property.extension.label"
defaultValue=
"html"
/>
<property
id=
"extractImages"
label=
"%dataTransfer.processor.html.property.images.name"
type=
"boolean"
description=
"%dataTransfer.processor.html.property.images.description"
defaultValue=
"true"
/>
<property
id=
"extractImages"
label=
"%dataTransfer.processor.html.property.images.name"
type=
"boolean"
description=
"%dataTransfer.processor.html.property.images.description"
defaultValue=
"true"
/>
...
...
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/registry/DataTransferProcessorDescriptor.java
浏览文件 @
4ed3cacb
...
@@ -46,6 +46,7 @@ public class DataTransferProcessorDescriptor extends AbstractDescriptor implemen
...
@@ -46,6 +46,7 @@ public class DataTransferProcessorDescriptor extends AbstractDescriptor implemen
private
final
String
description
;
private
final
String
description
;
private
final
String
appFileExtension
;
private
final
String
appFileExtension
;
private
final
String
appName
;
private
final
String
appName
;
private
final
int
order
;
@NotNull
@NotNull
private
final
DBPImage
icon
;
private
final
DBPImage
icon
;
private
final
List
<
DBPPropertyDescriptor
>
properties
=
new
ArrayList
<>();
private
final
List
<
DBPPropertyDescriptor
>
properties
=
new
ArrayList
<>();
...
@@ -64,6 +65,7 @@ public class DataTransferProcessorDescriptor extends AbstractDescriptor implemen
...
@@ -64,6 +65,7 @@ public class DataTransferProcessorDescriptor extends AbstractDescriptor implemen
this
.
isBinary
=
CommonUtils
.
getBoolean
(
config
.
getAttribute
(
"binary"
),
false
);
this
.
isBinary
=
CommonUtils
.
getBoolean
(
config
.
getAttribute
(
"binary"
),
false
);
this
.
appFileExtension
=
config
.
getAttribute
(
"appFileExtension"
);
this
.
appFileExtension
=
config
.
getAttribute
(
"appFileExtension"
);
this
.
appName
=
config
.
getAttribute
(
"appName"
);
this
.
appName
=
config
.
getAttribute
(
"appName"
);
this
.
order
=
CommonUtils
.
toInt
(
config
.
getAttribute
(
"order"
));
for
(
IConfigurationElement
typeCfg
:
ArrayUtils
.
safeArray
(
config
.
getChildren
(
"sourceType"
)))
{
for
(
IConfigurationElement
typeCfg
:
ArrayUtils
.
safeArray
(
config
.
getChildren
(
"sourceType"
)))
{
sourceTypes
.
add
(
new
ObjectType
(
typeCfg
.
getAttribute
(
"type"
)));
sourceTypes
.
add
(
new
ObjectType
(
typeCfg
.
getAttribute
(
"type"
)));
...
@@ -103,6 +105,10 @@ public class DataTransferProcessorDescriptor extends AbstractDescriptor implemen
...
@@ -103,6 +105,10 @@ public class DataTransferProcessorDescriptor extends AbstractDescriptor implemen
return
program
;
return
program
;
}
}
public
int
getOrder
()
{
return
order
;
}
@NotNull
@NotNull
public
DBPImage
getIcon
()
{
public
DBPImage
getIcon
()
{
return
icon
;
return
icon
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录