Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
0c1a24b7
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,发现更多精彩内容 >>
提交
0c1a24b7
编写于
2月 17, 2017
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#91 Objects move up/move down commands
上级
815d1902
变更
9
显示空白变更内容
内联
并排
Showing
9 changed file
with
115 addition
and
13 deletion
+115
-13
plugins/org.jkiss.dbeaver.core/plugin.xml
plugins/org.jkiss.dbeaver.core/plugin.xml
+37
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreCommands.java
...dbeaver.core/src/org/jkiss/dbeaver/core/CoreCommands.java
+2
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/ObjectPropertyTester.java
...rc/org/jkiss/dbeaver/ui/actions/ObjectPropertyTester.java
+10
-4
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/ItemListControl.java
...g/jkiss/dbeaver/ui/controls/itemlist/ItemListControl.java
+27
-4
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableColumnManager.java
...jkiss/dbeaver/ext/mysql/edit/MySQLTableColumnManager.java
+21
-1
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLTableBase.java
...src/org/jkiss/dbeaver/ext/mysql/model/MySQLTableBase.java
+11
-0
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLTableColumn.java
...c/org/jkiss/dbeaver/ext/mysql/model/MySQLTableColumn.java
+2
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBPOrderedObject.java
...r.model/src/org/jkiss/dbeaver/model/DBPOrderedObject.java
+0
-2
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/edit/DBEObjectReorderer.java
.../src/org/jkiss/dbeaver/model/edit/DBEObjectReorderer.java
+5
-1
未找到文件。
plugins/org.jkiss.dbeaver.core/plugin.xml
浏览文件 @
0c1a24b7
...
...
@@ -226,6 +226,8 @@
<command
id=
"org.jkiss.dbeaver.core.object.open"
name=
"%command.org.jkiss.dbeaver.core.object.open.name"
description=
"%command.org.jkiss.dbeaver.core.object.open.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
<command
id=
"org.jkiss.dbeaver.core.object.create"
name=
"%command.org.jkiss.dbeaver.core.object.create.name"
description=
"%command.org.jkiss.dbeaver.core.object.create.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
<command
id=
"org.jkiss.dbeaver.core.object.delete"
name=
"%command.org.jkiss.dbeaver.core.object.delete.name"
description=
"%command.org.jkiss.dbeaver.core.object.delete.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
<command
id=
"org.jkiss.dbeaver.core.object.move.up"
name=
"%command.org.jkiss.dbeaver.core.object.move.up.name"
description=
"%command.org.jkiss.dbeaver.core.object.move.up.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
<command
id=
"org.jkiss.dbeaver.core.object.move.down"
name=
"%command.org.jkiss.dbeaver.core.object.move.down.name"
description=
"%command.org.jkiss.dbeaver.core.object.move.down.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
<command
id=
"org.jkiss.dbeaver.core.object.goto"
name=
"%command.org.jkiss.dbeaver.core.object.goto.name"
description=
"%command.org.jkiss.dbeaver.core.object.goto.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
<command
id=
"org.jkiss.dbeaver.core.object.filter.config"
name=
"%command.org.jkiss.dbeaver.core.object.filter.config.name"
description=
"%command.org.jkiss.dbeaver.core.object.filter.config.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
...
...
@@ -332,6 +334,9 @@
<image
commandId=
"org.jkiss.dbeaver.core.object.open"
icon=
"icons/edit.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.object.create"
icon=
"IMG_TOOL_NEW_WIZARD"
/>
<image
commandId=
"org.jkiss.dbeaver.core.object.delete"
icon=
"IMG_ETOOL_DELETE"
/>
<image
commandId=
"org.jkiss.dbeaver.core.object.move.up"
icon=
"icons/misc/arrow_up.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.object.move.down"
icon=
"icons/misc/arrow_down.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.object.filter.config"
icon=
"icons/misc/filter.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.object.filter.add.exclude"
icon=
"icons/misc/filter_add.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.object.filter.add.include"
icon=
"icons/misc/filter_add.png"
/>
...
...
@@ -723,6 +728,8 @@
<handler
commandId=
"org.jkiss.dbeaver.core.txn.log"
class=
"org.jkiss.dbeaver.ui.actions.datasource.DataSourceTransactionLogHandler"
/>
<handler
commandId=
"org.jkiss.dbeaver.core.txn.pending"
class=
"org.jkiss.dbeaver.ui.actions.datasource.DataSourcePendingTransactionsHandler"
/>
<!-- Navigator handlers -->
<handler
commandId=
"org.jkiss.dbeaver.core.object.open"
class=
"org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectOpen"
>
<enabledWhen>
<with
variable=
"selection"
>
...
...
@@ -872,6 +879,34 @@
</with>
</enabledWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.core.object.move.up"
class=
"org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectMove"
>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.core.ui.navigator.part"
/></activeWhen>
<enabledWhen>
<with
variable=
"selection"
>
<count
value=
"1"
/>
<iterate
operator=
"and"
>
<and>
<instanceof
value=
"org.jkiss.dbeaver.model.navigator.DBNNode"
/>
<test
property=
"org.jkiss.dbeaver.core.object.canMoveUp"
/>
</and>
</iterate>
</with>
</enabledWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.core.object.move.down"
class=
"org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectMove"
>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.core.ui.navigator.part"
/></activeWhen>
<enabledWhen>
<with
variable=
"selection"
>
<count
value=
"1"
/>
<iterate
operator=
"and"
>
<and>
<instanceof
value=
"org.jkiss.dbeaver.model.navigator.DBNNode"
/>
<test
property=
"org.jkiss.dbeaver.core.object.canMoveDown"
/>
</and>
</iterate>
</with>
</enabledWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.core.object.goto"
class=
"org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectGoto"
>
<activeWhen>
...
...
@@ -882,6 +917,8 @@
</activeWhen>
</handler>
<!-- SQL editor handlers -->
<handler
commandId=
"org.jkiss.dbeaver.core.sql.editor.open"
class=
"org.jkiss.dbeaver.ui.editors.sql.handlers.OpenHandler"
>
<activeWhen>
<or>
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreCommands.java
浏览文件 @
0c1a24b7
...
...
@@ -27,6 +27,8 @@ public interface CoreCommands
String
CMD_OBJECT_OPEN
=
"org.jkiss.dbeaver.core.object.open"
;
//$NON-NLS-1$
String
CMD_OBJECT_CREATE
=
"org.jkiss.dbeaver.core.object.create"
;
//$NON-NLS-1$
String
CMD_OBJECT_DELETE
=
"org.jkiss.dbeaver.core.object.delete"
;
//$NON-NLS-1$
String
CMD_OBJECT_MOVE_UP
=
"org.jkiss.dbeaver.core.object.move.up"
;
//$NON-NLS-1$
String
CMD_OBJECT_MOVE_DOWN
=
"org.jkiss.dbeaver.core.object.move.down"
;
//$NON-NLS-1$
String
GROUP_TOOLS
=
"tools"
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/ObjectPropertyTester.java
浏览文件 @
0c1a24b7
...
...
@@ -23,6 +23,7 @@ import org.jkiss.dbeaver.model.DBPOrderedObject;
import
org.jkiss.dbeaver.model.edit.DBEObjectMaker
;
import
org.jkiss.dbeaver.model.edit.DBEObjectManager
;
import
org.jkiss.dbeaver.model.edit.DBEObjectRenamer
;
import
org.jkiss.dbeaver.model.edit.DBEObjectReorderer
;
import
org.jkiss.dbeaver.model.navigator.*
;
import
org.jkiss.dbeaver.model.app.DBPResourceHandler
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
...
...
@@ -54,6 +55,7 @@ public class ObjectPropertyTester extends PropertyTester
super
();
}
@SuppressWarnings
(
"unchecked"
)
@Override
public
boolean
test
(
Object
receiver
,
String
property
,
Object
[]
args
,
Object
expectedValue
)
{
...
...
@@ -65,6 +67,7 @@ public class ObjectPropertyTester extends PropertyTester
return
false
;
}
DBNNode
node
=
(
DBNNode
)
receiver
;
//System.out.println("TEST " + property + " ON " + node.getName());
switch
(
property
)
{
case
PROP_CAN_OPEN:
...
...
@@ -166,11 +169,14 @@ public class ObjectPropertyTester extends PropertyTester
if
(
node
instanceof
DBNDatabaseNode
)
{
DBSObject
object
=
((
DBNDatabaseNode
)
node
).
getObject
();
if
(
object
instanceof
DBPOrderedObject
)
{
DBEObjectReorderer
objectReorderer
=
getObjectManager
(
object
.
getClass
(),
DBEObjectReorderer
.
class
);
if
(
objectReorderer
!=
null
)
{
final
int
position
=
((
DBPOrderedObject
)
object
).
getOrdinalPosition
();
if
(
property
.
equals
(
PROP_CAN_MOVE_UP
))
{
return
position
>
0
;
return
position
>
objectReorderer
.
getMinimumOrdinalPosition
(
object
);
}
return
position
<
objectReorderer
.
getMaximumOrdinalPosition
(
object
);
}
return
position
<
((
DBPOrderedObject
)
object
).
getMaximumOrdinalPosition
();
}
}
break
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/ItemListControl.java
浏览文件 @
0c1a24b7
...
...
@@ -28,6 +28,9 @@ import org.eclipse.ui.IWorkbenchCommandConstants;
import
org.eclipse.ui.IWorkbenchSite
;
import
org.eclipse.ui.part.MultiPageEditorPart
;
import
org.eclipse.ui.part.MultiPageEditorSite
;
import
org.jkiss.dbeaver.core.CoreCommands
;
import
org.jkiss.dbeaver.model.edit.DBEObjectManager
;
import
org.jkiss.dbeaver.model.edit.DBEObjectReorderer
;
import
org.jkiss.dbeaver.model.navigator.DBNDatabaseFolder
;
import
org.jkiss.dbeaver.model.navigator.DBNDatabaseNode
;
import
org.jkiss.dbeaver.model.navigator.DBNNode
;
...
...
@@ -36,6 +39,7 @@ import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import
org.jkiss.dbeaver.model.runtime.load.DatabaseLoadService
;
import
org.jkiss.dbeaver.model.sql.SQLUtils
;
import
org.jkiss.dbeaver.model.struct.DBSWrapper
;
import
org.jkiss.dbeaver.registry.editor.EntityEditorsRegistry
;
import
org.jkiss.dbeaver.runtime.properties.ObjectPropertyDescriptor
;
import
org.jkiss.dbeaver.ui.*
;
import
org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerFilterConfig
;
...
...
@@ -81,7 +85,8 @@ public class ItemListControl extends NodeListControl
protected
void
fillCustomActions
(
IContributionManager
contributionManager
)
{
super
.
fillCustomActions
(
contributionManager
);
if
(
getRootNode
()
instanceof
DBNDatabaseFolder
&&
((
DBNDatabaseFolder
)
getRootNode
()).
getItemsMeta
()
!=
null
)
{
final
DBNNode
rootNode
=
getRootNode
();
if
(
rootNode
instanceof
DBNDatabaseFolder
&&
((
DBNDatabaseFolder
)
rootNode
).
getItemsMeta
()
!=
null
)
{
contributionManager
.
add
(
new
Action
(
"Filter"
,
DBeaverIcons
.
getImageDescriptor
(
UIIcon
.
FILTER
))
...
...
@@ -89,7 +94,7 @@ public class ItemListControl extends NodeListControl
@Override
public
void
run
()
{
NavigatorHandlerFilterConfig
.
configureFilters
(
getShell
(),
getRootNode
()
);
NavigatorHandlerFilterConfig
.
configureFilters
(
getShell
(),
rootNode
);
}
});
}
...
...
@@ -97,7 +102,26 @@ public class ItemListControl extends NodeListControl
if
(
workbenchSite
!=
null
)
{
contributionManager
.
add
(
ActionUtils
.
makeCommandContribution
(
workbenchSite
,
IWorkbenchCommandConstants
.
FILE_REFRESH
));
}
//contributionManager.add(new PackColumnsAction());
if
(
rootNode
instanceof
DBNDatabaseNode
)
{
boolean
hasReorder
=
false
;
List
<
Class
<?>>
childrenTypes
=
((
DBNDatabaseNode
)
rootNode
).
getChildrenTypes
(
null
);
for
(
Class
<?>
chilType
:
childrenTypes
)
{
if
(
EntityEditorsRegistry
.
getInstance
().
getObjectManager
(
chilType
,
DBEObjectReorderer
.
class
)
!=
null
)
{
hasReorder
=
true
;
break
;
}
}
if
(
hasReorder
)
{
contributionManager
.
add
(
new
Separator
());
contributionManager
.
add
(
ActionUtils
.
makeCommandContribution
(
workbenchSite
,
CoreCommands
.
CMD_OBJECT_MOVE_UP
));
contributionManager
.
add
(
ActionUtils
.
makeCommandContribution
(
workbenchSite
,
CoreCommands
.
CMD_OBJECT_MOVE_DOWN
));
}
}
if
(
workbenchSite
instanceof
MultiPageEditorSite
)
{
final
MultiPageEditorPart
editor
=
((
MultiPageEditorSite
)
workbenchSite
).
getMultiPageEditor
();
...
...
@@ -118,7 +142,6 @@ public class ItemListControl extends NodeListControl
null
,
true
));
}
//if (((IEditorSite) site).getPart() instanceof
}
}
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableColumnManager.java
浏览文件 @
0c1a24b7
...
...
@@ -27,6 +27,7 @@ import org.jkiss.dbeaver.model.DBPEvaluationContext;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.edit.DBECommandContext
;
import
org.jkiss.dbeaver.model.edit.DBEObjectRenamer
;
import
org.jkiss.dbeaver.model.edit.DBEObjectReorderer
;
import
org.jkiss.dbeaver.model.edit.DBEPersistAction
;
import
org.jkiss.dbeaver.model.impl.DBSObjectCache
;
import
org.jkiss.dbeaver.model.impl.edit.DBECommandAbstract
;
...
...
@@ -46,7 +47,9 @@ import java.util.Locale;
/**
* MySQL table column manager
*/
public
class
MySQLTableColumnManager
extends
SQLTableColumnManager
<
MySQLTableColumn
,
MySQLTableBase
>
implements
DBEObjectRenamer
<
MySQLTableColumn
>
{
public
class
MySQLTableColumnManager
extends
SQLTableColumnManager
<
MySQLTableColumn
,
MySQLTableBase
>
implements
DBEObjectRenamer
<
MySQLTableColumn
>,
DBEObjectReorderer
<
MySQLTableColumn
>
{
protected
final
ColumnModifier
<
MySQLTableColumn
>
MySQLDataTypeModifier
=
new
ColumnModifier
<
MySQLTableColumn
>()
{
@Override
...
...
@@ -144,4 +147,21 @@ public class MySQLTableColumnManager extends SQLTableColumnManager<MySQLTableCol
getNestedDeclaration
(
column
.
getTable
(),
command
)));
}
///////////////////////////////////////////////
// Reorder
@Override
public
int
getMinimumOrdinalPosition
(
MySQLTableColumn
object
)
{
return
1
;
}
@Override
public
int
getMaximumOrdinalPosition
(
MySQLTableColumn
object
)
{
return
object
.
getTable
().
getCachedAttributes
().
size
();
}
@Override
public
void
setObjectOrdinalPosition
(
DBECommandContext
commandContext
,
MySQLTableColumn
object
,
int
newPosition
)
throws
DBException
{
}
}
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLTableBase.java
浏览文件 @
0c1a24b7
...
...
@@ -40,6 +40,8 @@ import java.sql.PreparedStatement;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.List
;
/**
* MySQLTable base
...
...
@@ -105,6 +107,15 @@ public abstract class MySQLTableBase extends JDBCTable<MySQLDataSource, MySQLCat
return
getContainer
().
tableCache
.
getChild
(
monitor
,
getContainer
(),
this
,
attributeName
);
}
public
List
<
MySQLTableColumn
>
getCachedAttributes
()
{
DBSObjectCache
<
MySQLTableBase
,
MySQLTableColumn
>
childrenCache
=
getContainer
().
tableCache
.
getChildrenCache
(
this
);
if
(
childrenCache
!=
null
)
{
return
childrenCache
.
getCachedObjects
();
}
return
Collections
.
emptyList
();
}
@Override
public
DBSObject
refreshObject
(
@NotNull
DBRProgressMonitor
monitor
)
throws
DBException
{
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLTableColumn.java
浏览文件 @
0c1a24b7
...
...
@@ -23,6 +23,7 @@ import org.jkiss.dbeaver.DBException;
import
org.jkiss.dbeaver.ext.mysql.MySQLConstants
;
import
org.jkiss.dbeaver.ext.mysql.MySQLUtils
;
import
org.jkiss.dbeaver.model.DBPNamedObject2
;
import
org.jkiss.dbeaver.model.DBPOrderedObject
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils
;
import
org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCColumnKeyType
;
...
...
@@ -44,7 +45,7 @@ import java.util.regex.Pattern;
/**
* MySQLTableColumn
*/
public
class
MySQLTableColumn
extends
JDBCTableColumn
<
MySQLTableBase
>
implements
DBSTableColumn
,
DBPNamedObject2
public
class
MySQLTableColumn
extends
JDBCTableColumn
<
MySQLTableBase
>
implements
DBSTableColumn
,
DBPNamedObject2
,
DBPOrderedObject
{
private
static
final
Log
log
=
Log
.
getLog
(
MySQLTableColumn
.
class
);
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBPOrderedObject.java
浏览文件 @
0c1a24b7
...
...
@@ -27,8 +27,6 @@ public interface DBPOrderedObject
{
int
getOrdinalPosition
();
int
getMaximumOrdinalPosition
();
void
setOrdinalPosition
(
int
position
);
}
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/edit/DBEObjectReorderer.java
浏览文件 @
0c1a24b7
...
...
@@ -27,8 +27,12 @@ import org.jkiss.dbeaver.model.struct.DBSObject;
*/
public
interface
DBEObjectReorderer
<
OBJECT_TYPE
extends
DBSObject
&
DBPOrderedObject
>
extends
DBEObjectManager
<
OBJECT_TYPE
>
{
int
getMinimumOrdinalPosition
(
OBJECT_TYPE
object
);
int
getMaximumOrdinalPosition
(
OBJECT_TYPE
object
);
/**
*
Describes object
*
Changes object ordinal position
*
* @param commandContext command context. Implementation should add new command to it.
* @param object object
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录