Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
f4244608
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,发现更多精彩内容 >>
提交
f4244608
编写于
9月 09, 2016
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Object creation refactoring (use monitor)
Former-commit-id:
a36276d8
上级
6931d842
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
116 addition
and
68 deletion
+116
-68
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectBase.java
...aver/ui/actions/navigator/NavigatorHandlerObjectBase.java
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectCreateBase.java
...i/actions/navigator/NavigatorHandlerObjectCreateBase.java
+95
-46
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/manager/DB2TableColumnManager.java
.../jkiss/dbeaver/ext/db2/manager/DB2TableColumnManager.java
+1
-1
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/manager/DB2TableManager.java
...rc/org/jkiss/dbeaver/ext/db2/manager/DB2TableManager.java
+1
-1
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/edit/GenericTableColumnManager.java
...s/dbeaver/ext/generic/edit/GenericTableColumnManager.java
+1
-1
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/edit/GenericTableManager.java
...g/jkiss/dbeaver/ext/generic/edit/GenericTableManager.java
+1
-1
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableColumnManager.java
...jkiss/dbeaver/ext/mysql/edit/MySQLTableColumnManager.java
+1
-1
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableManager.java
...c/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableManager.java
+2
-2
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/edit/OracleTableColumnManager.java
...iss/dbeaver/ext/oracle/edit/OracleTableColumnManager.java
+1
-1
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/edit/OracleTableManager.java
...org/jkiss/dbeaver/ext/oracle/edit/OracleTableManager.java
+1
-1
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/edit/PostgreTableColumnManager.java
...beaver/ext/postgresql/edit/PostgreTableColumnManager.java
+1
-1
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/edit/PostgreTableManager.java
...kiss/dbeaver/ext/postgresql/edit/PostgreTableManager.java
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/sql/edit/struct/SQLTableColumnManager.java
...ver/model/impl/sql/edit/struct/SQLTableColumnManager.java
+3
-3
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/sql/edit/struct/SQLTableManager.java
...s/dbeaver/model/impl/sql/edit/struct/SQLTableManager.java
+6
-7
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectBase.java
浏览文件 @
f4244608
...
...
@@ -263,7 +263,7 @@ public abstract class NavigatorHandlerObjectBase extends AbstractHandler {
}
@Override
public
void
run
(
DBRProgressMonitor
monitor
)
throws
InvocationTargetException
,
InterruptedException
public
void
run
(
DBRProgressMonitor
monitor
)
throws
InvocationTargetException
{
try
{
commander
.
saveChanges
(
monitor
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectCreateBase.java
浏览文件 @
f4244608
...
...
@@ -18,26 +18,30 @@
package
org.jkiss.dbeaver.ui.actions.navigator
;
import
org.eclipse.core.resources.IProject
;
import
org.eclipse.core.runtime.IStatus
;
import
org.eclipse.core.runtime.Status
;
import
org.eclipse.core.runtime.jobs.IJobChangeEvent
;
import
org.eclipse.core.runtime.jobs.JobChangeAdapter
;
import
org.eclipse.swt.widgets.Display
;
import
org.eclipse.ui.IWorkbenchWindow
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.runtime.VoidProgressMonitor
;
import
org.jkiss.dbeaver.ui.editors.IDatabaseEditor
;
import
org.jkiss.dbeaver.model.edit.DBEObjectMaker
;
import
org.jkiss.dbeaver.model.edit.DBEObjectManager
;
import
org.jkiss.dbeaver.model.navigator.DBNContainer
;
import
org.jkiss.dbeaver.model.navigator.DBNDatabaseNode
;
import
org.jkiss.dbeaver.model.navigator.DBNNode
;
import
org.jkiss.dbeaver.model.runtime.AbstractJob
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.registry.editor.EntityEditorsRegistry
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.editors.IDatabaseEditor
;
import
org.jkiss.dbeaver.ui.editors.entity.EntityEditor
;
import
org.jkiss.dbeaver.ui.editors.entity.EntityEditorInput
;
import
org.jkiss.dbeaver.ui.navigator.database.DatabaseNavigatorView
;
import
java.lang.reflect.InvocationTargetException
;
import
org.jkiss.dbeaver.utils.GeneralUtils
;
public
abstract
class
NavigatorHandlerObjectCreateBase
extends
NavigatorHandlerObjectBase
{
...
...
@@ -83,57 +87,102 @@ public abstract class NavigatorHandlerObjectCreateBase extends NavigatorHandlerO
openEditor
);
final
Object
parentObject
=
container
.
getValueObject
();
DBSObject
result
=
objectMaker
.
createNewObject
(
VoidProgressMonitor
.
INSTANCE
,
commandTarget
.
getContext
(),
parentObject
,
sourceObject
);
if
(
result
==
null
)
{
return
true
;
}
createDatabaseObject
(
commandTarget
,
objectMaker
,
parentObject
,
sourceObject
);
}
catch
(
Throwable
e
)
{
UIUtils
.
showErrorDialog
(
workbenchWindow
.
getShell
(),
"Create object"
,
null
,
e
);
return
false
;
}
if
((
objectMaker
.
getMakerOptions
()
&
DBEObjectMaker
.
FEATURE_SAVE_IMMEDIATELY
)
!=
0
)
{
// Save object manager's content
ObjectSaver
objectSaver
=
new
ObjectSaver
(
commandTarget
.
getContext
());
DBeaverUI
.
runInProgressService
(
objectSaver
);
}
return
true
;
}
final
DBNNode
newChild
=
DBeaverCore
.
getInstance
().
getNavigatorModel
().
findNode
(
result
);
if
(
newChild
!=
null
)
{
Display
.
getDefault
().
asyncExec
(
new
Runnable
()
{
@Override
public
void
run
()
{
DatabaseNavigatorView
view
=
UIUtils
.
findView
(
workbenchWindow
,
DatabaseNavigatorView
.
class
);
if
(
view
!=
null
)
{
view
.
showNode
(
newChild
);
private
<
OBJECT_TYPE
extends
DBSObject
,
CONTAINER_TYPE
>
void
createDatabaseObject
(
CommandTarget
commandTarget
,
DBEObjectMaker
<
OBJECT_TYPE
,
CONTAINER_TYPE
>
objectMaker
,
CONTAINER_TYPE
parentObject
,
DBSObject
sourceObject
)
throws
DBException
{
final
CreateJob
<
OBJECT_TYPE
,
CONTAINER_TYPE
>
job
=
new
CreateJob
<>(
commandTarget
,
objectMaker
,
parentObject
,
sourceObject
);
job
.
addJobChangeListener
(
new
JobChangeAdapter
()
{
@Override
public
void
done
(
IJobChangeEvent
event
)
{
if
(
event
.
getResult
().
isOK
()
&&
job
.
newObject
!=
null
)
{
Display
.
getDefault
().
asyncExec
(
new
Runnable
()
{
@Override
public
void
run
()
{
job
.
showNewObject
();
}
}
});
IDatabaseEditor
editor
=
commandTarget
.
getEditor
();
if
(
editor
!=
null
)
{
// Just activate existing editor
workbenchWindow
.
getActivePage
().
activate
(
editor
);
}
else
if
(
openEditor
&&
newChild
instanceof
DBNDatabaseNode
)
{
// Open new one with existing context
EntityEditorInput
editorInput
=
new
EntityEditorInput
(
(
DBNDatabaseNode
)
newChild
,
commandTarget
.
getContext
());
workbenchWindow
.
getActivePage
().
openEditor
(
editorInput
,
EntityEditor
.
class
.
getName
());
});
}
}
else
{
throw
new
DBException
(
"Can't find node corresponding to new object"
);
}
}
catch
(
InterruptedException
e
)
{
// do nothing
});
job
.
schedule
();
}
static
class
CreateJob
<
OBJECT_TYPE
extends
DBSObject
,
CONTAINER_TYPE
>
extends
AbstractJob
{
private
final
CommandTarget
commandTarget
;
private
final
DBEObjectMaker
<
OBJECT_TYPE
,
CONTAINER_TYPE
>
objectMaker
;
private
final
CONTAINER_TYPE
parentObject
;
private
final
DBSObject
sourceObject
;
private
OBJECT_TYPE
newObject
;
public
CreateJob
(
CommandTarget
commandTarget
,
DBEObjectMaker
<
OBJECT_TYPE
,
CONTAINER_TYPE
>
objectMaker
,
CONTAINER_TYPE
parentObject
,
DBSObject
sourceObject
)
{
super
(
"Create new database object with "
+
objectMaker
);
this
.
commandTarget
=
commandTarget
;
this
.
objectMaker
=
objectMaker
;
this
.
parentObject
=
parentObject
;
this
.
sourceObject
=
sourceObject
;
}
catch
(
Throwable
e
)
{
if
(
e
instanceof
InvocationTargetException
)
{
e
=
((
InvocationTargetException
)
e
).
getTargetException
();
@Override
protected
IStatus
run
(
DBRProgressMonitor
monitor
)
{
try
{
newObject
=
objectMaker
.
createNewObject
(
monitor
,
commandTarget
.
getContext
(),
parentObject
,
sourceObject
);
if
(
newObject
!=
null
)
{
if
((
objectMaker
.
getMakerOptions
()
&
DBEObjectMaker
.
FEATURE_SAVE_IMMEDIATELY
)
!=
0
)
{
// Save object manager's content
commandTarget
.
getContext
().
saveChanges
(
monitor
);
}
}
return
Status
.
OK_STATUS
;
}
catch
(
Exception
e
)
{
return
GeneralUtils
.
makeExceptionStatus
(
e
);
}
UIUtils
.
showErrorDialog
(
workbenchWindow
.
getShell
(),
"Create object"
,
null
,
e
);
return
false
;
}
return
true
;
// This function must be run in UI thread
private
void
showNewObject
()
{
IWorkbenchWindow
workbenchWindow
=
DBeaverUI
.
getActiveWorkbenchWindow
();
try
{
final
boolean
openEditor
=
(
objectMaker
.
getMakerOptions
()
&
DBEObjectMaker
.
FEATURE_EDITOR_ON_CREATE
)
!=
0
;
final
DBNDatabaseNode
newChild
=
DBeaverCore
.
getInstance
().
getNavigatorModel
().
findNode
(
newObject
);
if
(
newChild
!=
null
)
{
DatabaseNavigatorView
view
=
UIUtils
.
findView
(
workbenchWindow
,
DatabaseNavigatorView
.
class
);
if
(
view
!=
null
)
{
view
.
showNode
(
newChild
);
}
IDatabaseEditor
editor
=
commandTarget
.
getEditor
();
if
(
editor
!=
null
)
{
// Just activate existing editor
workbenchWindow
.
getActivePage
().
activate
(
editor
);
}
else
if
(
openEditor
)
{
// Open new one with existing context
EntityEditorInput
editorInput
=
new
EntityEditorInput
(
newChild
,
commandTarget
.
getContext
());
workbenchWindow
.
getActivePage
().
openEditor
(
editorInput
,
EntityEditor
.
class
.
getName
());
}
}
else
{
throw
new
DBException
(
"Can't find node corresponding to new object"
);
}
}
catch
(
Throwable
e
)
{
UIUtils
.
showErrorDialog
(
workbenchWindow
.
getShell
(),
"Create object"
,
null
,
e
);
}
}
}
}
\ No newline at end of file
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/manager/DB2TableColumnManager.java
浏览文件 @
f4244608
...
...
@@ -90,7 +90,7 @@ public class DB2TableColumnManager extends SQLTableColumnManager<DB2TableColumn,
Object
copyFrom
)
{
DB2TableColumn
column
=
new
DB2TableColumn
(
parent
);
column
.
setName
(
getNewColumnName
(
context
,
parent
));
column
.
setName
(
getNewColumnName
(
monitor
,
context
,
parent
));
return
column
;
}
...
...
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/manager/DB2TableManager.java
浏览文件 @
f4244608
...
...
@@ -88,7 +88,7 @@ public class DB2TableManager extends SQLTableManager<DB2Table, DB2Schema> implem
{
DB2Table
table
=
new
DB2Table
(
db2Schema
,
NEW_TABLE_NAME
);
try
{
setTableName
(
db2Schema
,
table
);
setTableName
(
monitor
,
db2Schema
,
table
);
}
catch
(
DBException
e
)
{
log
.
error
(
e
);
}
...
...
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/edit/GenericTableColumnManager.java
浏览文件 @
f4244608
...
...
@@ -52,7 +52,7 @@ public class GenericTableColumnManager extends SQLTableColumnManager<GenericTabl
DBSDataType
columnType
=
findBestDataType
(
parent
.
getDataSource
(),
DBConstants
.
DEFAULT_DATATYPE_NAMES
);
final
GenericTableColumn
column
=
new
GenericTableColumn
(
parent
);
column
.
setName
(
getNewColumnName
(
context
,
parent
));
column
.
setName
(
getNewColumnName
(
monitor
,
context
,
parent
));
column
.
setTypeName
(
columnType
==
null
?
"INTEGER"
:
columnType
.
getName
());
column
.
setMaxLength
(
columnType
!=
null
&&
columnType
.
getDataKind
()
==
DBPDataKind
.
STRING
?
100
:
0
);
column
.
setValueType
(
columnType
==
null
?
Types
.
INTEGER
:
columnType
.
getTypeID
());
...
...
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/edit/GenericTableManager.java
浏览文件 @
f4244608
...
...
@@ -56,7 +56,7 @@ public class GenericTableManager extends SQLTableManager<GenericTable, GenericSt
{
final
GenericTable
table
=
new
GenericTable
(
parent
);
try
{
setTableName
(
parent
,
table
);
setTableName
(
monitor
,
parent
,
table
);
}
catch
(
DBException
e
)
{
log
.
error
(
e
);
}
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableColumnManager.java
浏览文件 @
f4244608
...
...
@@ -95,7 +95,7 @@ public class MySQLTableColumnManager extends SQLTableColumnManager<MySQLTableCol
DBSDataType
columnType
=
findBestDataType
(
parent
.
getDataSource
(),
"varchar"
);
//$NON-NLS-1$
final
MySQLTableColumn
column
=
new
MySQLTableColumn
(
parent
);
column
.
setName
(
getNewColumnName
(
context
,
parent
));
column
.
setName
(
getNewColumnName
(
monitor
,
context
,
parent
));
final
String
typeName
=
columnType
==
null
?
"integer"
:
columnType
.
getName
().
toLowerCase
();
column
.
setTypeName
(
typeName
);
//$NON-NLS-1$
column
.
setMaxLength
(
columnType
!=
null
&&
columnType
.
getDataKind
()
==
DBPDataKind
.
STRING
?
100
:
0
);
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableManager.java
浏览文件 @
f4244608
...
...
@@ -63,10 +63,10 @@ public class MySQLTableManager extends SQLTableManager<MySQLTableBase, MySQLCata
final
MySQLTable
table
;
if
(
copyFrom
instanceof
MySQLTable
)
{
table
=
new
MySQLTable
(
monitor
,
(
MySQLTable
)
copyFrom
);
table
.
setName
(
getTableName
(
parent
,
((
MySQLTable
)
copyFrom
).
getName
()));
table
.
setName
(
getTableName
(
monitor
,
parent
,
((
MySQLTable
)
copyFrom
).
getName
()));
}
else
{
table
=
new
MySQLTable
(
parent
);
setTableName
(
parent
,
table
);
setTableName
(
monitor
,
parent
,
table
);
final
MySQLTable
.
AdditionalInfo
additionalInfo
=
table
.
getAdditionalInfo
(
monitor
);
additionalInfo
.
setEngine
(
parent
.
getDataSource
().
getDefaultEngine
());
...
...
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/edit/OracleTableColumnManager.java
浏览文件 @
f4244608
...
...
@@ -62,7 +62,7 @@ public class OracleTableColumnManager extends SQLTableColumnManager<OracleTableC
DBSDataType
columnType
=
findBestDataType
(
parent
.
getDataSource
(),
"varchar2"
);
//$NON-NLS-1$
final
OracleTableColumn
column
=
new
OracleTableColumn
(
parent
);
column
.
setName
(
getNewColumnName
(
context
,
parent
));
column
.
setName
(
getNewColumnName
(
monitor
,
context
,
parent
));
column
.
setDataType
((
OracleDataType
)
columnType
);
column
.
setTypeName
(
columnType
==
null
?
"INTEGER"
:
columnType
.
getName
());
//$NON-NLS-1$
column
.
setMaxLength
(
columnType
!=
null
&&
columnType
.
getDataKind
()
==
DBPDataKind
.
STRING
?
100
:
0
);
...
...
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/edit/OracleTableManager.java
浏览文件 @
f4244608
...
...
@@ -58,7 +58,7 @@ public class OracleTableManager extends SQLTableManager<OracleTable, OracleSchem
{
OracleTable
table
=
new
OracleTable
(
parent
,
""
);
try
{
setTableName
(
parent
,
table
);
setTableName
(
monitor
,
parent
,
table
);
}
catch
(
DBException
e
)
{
log
.
error
(
e
);
}
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/edit/PostgreTableColumnManager.java
浏览文件 @
f4244608
...
...
@@ -116,7 +116,7 @@ public class PostgreTableColumnManager extends SQLTableColumnManager<PostgreTabl
DBSDataType
columnType
=
findBestDataType
(
parent
.
getDataSource
(),
"varchar"
);
//$NON-NLS-1$
final
PostgreTableColumn
column
=
new
PostgreTableColumn
(
parent
);
column
.
setName
(
getNewColumnName
(
context
,
parent
));
column
.
setName
(
getNewColumnName
(
monitor
,
context
,
parent
));
final
PostgreDataType
dataType
=
parent
.
getDatabase
().
getDataType
(
PostgreOid
.
VARCHAR
);
column
.
setDataType
(
dataType
);
//$NON-NLS-1$
column
.
setMaxLength
(
columnType
!=
null
&&
columnType
.
getDataKind
()
==
DBPDataKind
.
STRING
?
100
:
0
);
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/edit/PostgreTableManager.java
浏览文件 @
f4244608
...
...
@@ -59,7 +59,7 @@ public class PostgreTableManager extends SQLTableManager<PostgreTableBase, Postg
{
final
PostgreTableRegular
table
=
new
PostgreTableRegular
(
parent
);
try
{
setTableName
(
parent
,
table
);
setTableName
(
monitor
,
parent
,
table
);
}
catch
(
DBException
e
)
{
// Never be here
log
.
error
(
e
);
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/sql/edit/struct/SQLTableColumnManager.java
浏览文件 @
f4244608
...
...
@@ -29,7 +29,7 @@ import org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable;
import
org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTableColumn
;
import
org.jkiss.dbeaver.model.impl.sql.edit.SQLObjectEditor
;
import
org.jkiss.dbeaver.model.messages.ModelMessages
;
import
org.jkiss.dbeaver.model.runtime.
Void
ProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.
DBR
ProgressMonitor
;
import
org.jkiss.dbeaver.model.sql.SQLUtils
;
import
org.jkiss.dbeaver.model.struct.DBSDataType
;
import
org.jkiss.utils.CommonUtils
;
...
...
@@ -184,13 +184,13 @@ public abstract class SQLTableColumnManager<OBJECT_TYPE extends JDBCTableColumn<
);
}
protected
String
getNewColumnName
(
DBECommandContext
context
,
TABLE_TYPE
table
)
protected
String
getNewColumnName
(
DB
RProgressMonitor
monitor
,
DB
ECommandContext
context
,
TABLE_TYPE
table
)
{
for
(
int
i
=
1
;
;
i
++)
{
final
String
name
=
DBObjectNameCaseTransformer
.
transformName
(
table
.
getDataSource
(),
"Column"
+
i
);
try
{
// check for existing columns
boolean
exists
=
table
.
getAttribute
(
VoidProgressMonitor
.
INSTANCE
,
name
)
!=
null
;
boolean
exists
=
table
.
getAttribute
(
monitor
,
name
)
!=
null
;
if
(!
exists
)
{
// Check for new columns (they are present only within command context)
for
(
DBPObject
contextObject
:
context
.
getEditedObjects
())
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/sql/edit/struct/SQLTableManager.java
浏览文件 @
f4244608
...
...
@@ -28,7 +28,6 @@ import org.jkiss.dbeaver.model.impl.sql.edit.SQLObjectEditor;
import
org.jkiss.dbeaver.model.impl.sql.edit.SQLStructEditor
;
import
org.jkiss.dbeaver.model.messages.ModelMessages
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.VoidProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.DBSEntityAssociation
;
import
org.jkiss.dbeaver.model.struct.DBSEntityAttribute
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
...
...
@@ -121,18 +120,18 @@ public abstract class SQLTableManager<OBJECT_TYPE extends JDBCTable, CONTAINER_T
}
protected
void
setTableName
(
CONTAINER_TYPE
container
,
OBJECT_TYPE
table
)
throws
DBException
{
table
.
setName
(
getTableName
(
container
));
protected
void
setTableName
(
DBRProgressMonitor
monitor
,
CONTAINER_TYPE
container
,
OBJECT_TYPE
table
)
throws
DBException
{
table
.
setName
(
getTableName
(
monitor
,
container
));
}
protected
String
getTableName
(
CONTAINER_TYPE
container
)
throws
DBException
{
return
getTableName
(
container
,
BASE_TABLE_NAME
);
protected
String
getTableName
(
DBRProgressMonitor
monitor
,
CONTAINER_TYPE
container
)
throws
DBException
{
return
getTableName
(
monitor
,
container
,
BASE_TABLE_NAME
);
}
protected
String
getTableName
(
CONTAINER_TYPE
container
,
String
baseName
)
throws
DBException
{
protected
String
getTableName
(
DBRProgressMonitor
monitor
,
CONTAINER_TYPE
container
,
String
baseName
)
throws
DBException
{
for
(
int
i
=
0
;
;
i
++)
{
String
tableName
=
DBObjectNameCaseTransformer
.
transformName
(
container
.
getDataSource
(),
i
==
0
?
baseName
:
(
baseName
+
"_"
+
i
));
DBSObject
child
=
container
.
getChild
(
VoidProgressMonitor
.
INSTANCE
,
tableName
);
DBSObject
child
=
container
.
getChild
(
monitor
,
tableName
);
if
(
child
==
null
)
{
return
tableName
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录