Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
6f42ef7b
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,发现更多精彩内容 >>
提交
6f42ef7b
编写于
5月 22, 2015
作者:
J
jurgen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Data source provider refactoring
上级
c0934b04
变更
10
显示空白变更内容
内联
并排
Showing
10 changed file
with
38 addition
and
26 deletion
+38
-26
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/IDataSourceProvider.java
...core/src/org/jkiss/dbeaver/model/IDataSourceProvider.java
+0
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/struct/DBSDataSourceContainer.java
...rg/jkiss/dbeaver/model/struct/DBSDataSourceContainer.java
+1
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/NodeListControl.java
...g/jkiss/dbeaver/ui/controls/itemlist/NodeListControl.java
+10
-7
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/ObjectListControl.java
...jkiss/dbeaver/ui/controls/itemlist/ObjectListControl.java
+3
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/sql/BaseSQLDialog.java
...e/src/org/jkiss/dbeaver/ui/dialogs/sql/BaseSQLDialog.java
+4
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/sql/GenerateMultiSQLDialog.java
.../jkiss/dbeaver/ui/dialogs/sql/GenerateMultiSQLDialog.java
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/sql/GenerateSQLDialog.java
...c/org/jkiss/dbeaver/ui/dialogs/sql/GenerateSQLDialog.java
+2
-3
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/sql/ViewSQLDialog.java
...e/src/org/jkiss/dbeaver/ui/dialogs/sql/ViewSQLDialog.java
+2
-3
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/DataSourcePropertyFilter.java
...jkiss/dbeaver/ui/properties/DataSourcePropertyFilter.java
+13
-3
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/PropertySourceAbstract.java
...g/jkiss/dbeaver/ui/properties/PropertySourceAbstract.java
+2
-2
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/IDataSourceProvider.java
浏览文件 @
6f42ef7b
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
package
org.jkiss.dbeaver.model
;
package
org.jkiss.dbeaver.model
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
/**
/**
* DataSource provider.
* DataSource provider.
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/struct/DBSDataSourceContainer.java
浏览文件 @
6f42ef7b
...
@@ -21,7 +21,6 @@ import org.eclipse.jface.preference.IPreferenceStore;
...
@@ -21,7 +21,6 @@ import org.eclipse.jface.preference.IPreferenceStore;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.model.IDataSourceProvider
;
import
org.jkiss.dbeaver.model.*
;
import
org.jkiss.dbeaver.model.*
;
import
org.jkiss.dbeaver.model.data.DBDPreferences
;
import
org.jkiss.dbeaver.model.data.DBDPreferences
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
...
@@ -32,7 +31,7 @@ import java.util.Collection;
...
@@ -32,7 +31,7 @@ import java.util.Collection;
/**
/**
* DBSDataSourceContainer
* DBSDataSourceContainer
*/
*/
public
interface
DBSDataSourceContainer
extends
DBSObject
,
DBDPreferences
,
IDataSourceProvider
public
interface
DBSDataSourceContainer
extends
DBSObject
,
DBDPreferences
{
{
/**
/**
* Container unique ID
* Container unique ID
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/NodeListControl.java
浏览文件 @
6f42ef7b
...
@@ -30,28 +30,29 @@ import org.jkiss.code.Nullable;
...
@@ -30,28 +30,29 @@ import org.jkiss.code.Nullable;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.IDataSourceProvider
;
import
org.jkiss.dbeaver.ui.editors.IDatabaseEditor
;
import
org.jkiss.dbeaver.ui.INavigatorModelView
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.DBPObject
;
import
org.jkiss.dbeaver.model.DBPObject
;
import
org.jkiss.dbeaver.model.IDataSourceContainerProvider
;
import
org.jkiss.dbeaver.model.edit.DBECommandContext
;
import
org.jkiss.dbeaver.model.edit.DBECommandContext
;
import
org.jkiss.dbeaver.model.edit.DBEObjectEditor
;
import
org.jkiss.dbeaver.model.edit.DBEObjectEditor
;
import
org.jkiss.dbeaver.model.navigator.DBNDatabaseNode
;
import
org.jkiss.dbeaver.model.navigator.DBNDatabaseNode
;
import
org.jkiss.dbeaver.model.navigator.DBNEvent
;
import
org.jkiss.dbeaver.model.navigator.DBNEvent
;
import
org.jkiss.dbeaver.model.navigator.DBNNode
;
import
org.jkiss.dbeaver.model.navigator.DBNNode
;
import
org.jkiss.dbeaver.model.navigator.IDBNListener
;
import
org.jkiss.dbeaver.model.navigator.IDBNListener
;
import
org.jkiss.dbeaver.model.struct.DBSDataSourceContainer
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.model.struct.DBSWrapper
;
import
org.jkiss.dbeaver.model.struct.DBSWrapper
;
import
org.jkiss.dbeaver.registry.editor.EntityEditorsRegistry
;
import
org.jkiss.dbeaver.registry.editor.EntityEditorsRegistry
;
import
org.jkiss.dbeaver.registry.tree.DBXTreeFolder
;
import
org.jkiss.dbeaver.registry.tree.DBXTreeFolder
;
import
org.jkiss.dbeaver.registry.tree.DBXTreeNode
;
import
org.jkiss.dbeaver.registry.tree.DBXTreeNode
;
import
org.jkiss.dbeaver.runtime.VoidProgressMonitor
;
import
org.jkiss.dbeaver.runtime.VoidProgressMonitor
;
import
org.jkiss.dbeaver.ui.INavigatorModelView
;
import
org.jkiss.dbeaver.ui.NavigatorUtils
;
import
org.jkiss.dbeaver.ui.NavigatorUtils
;
import
org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectOpen
;
import
org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectOpen
;
import
org.jkiss.dbeaver.ui.controls.ListContentProvider
;
import
org.jkiss.dbeaver.ui.controls.ListContentProvider
;
import
org.jkiss.dbeaver.ui.controls.ObjectViewerRenderer
;
import
org.jkiss.dbeaver.ui.controls.ObjectViewerRenderer
;
import
org.jkiss.dbeaver.ui.controls.TreeContentProvider
;
import
org.jkiss.dbeaver.ui.controls.TreeContentProvider
;
import
org.jkiss.dbeaver.ui.editors.IDatabaseEditor
;
import
org.jkiss.dbeaver.ui.properties.PropertySourceAbstract
;
import
org.jkiss.dbeaver.ui.properties.PropertySourceAbstract
;
import
org.jkiss.dbeaver.ui.properties.PropertySourceEditable
;
import
org.jkiss.dbeaver.ui.properties.PropertySourceEditable
;
import
org.jkiss.utils.CommonUtils
;
import
org.jkiss.utils.CommonUtils
;
...
@@ -64,7 +65,7 @@ import java.util.Set;
...
@@ -64,7 +65,7 @@ import java.util.Set;
/**
/**
* NodeListControl
* NodeListControl
*/
*/
public
abstract
class
NodeListControl
extends
ObjectListControl
<
DBNNode
>
implements
IDataSourceProvider
,
INavigatorModelView
,
IDBNListener
,
IMenuListener
{
public
abstract
class
NodeListControl
extends
ObjectListControl
<
DBNNode
>
implements
IDataSource
Container
Provider
,
INavigatorModelView
,
IDBNListener
,
IMenuListener
{
//static final Log log = Log.getLog(NodeListControl.class);
//static final Log log = Log.getLog(NodeListControl.class);
private
final
IWorkbenchSite
workbenchSite
;
private
final
IWorkbenchSite
workbenchSite
;
...
@@ -119,10 +120,12 @@ public abstract class NodeListControl extends ObjectListControl<DBNNode> impleme
...
@@ -119,10 +120,12 @@ public abstract class NodeListControl extends ObjectListControl<DBNNode> impleme
}
}
@Override
@Override
public
DBPDataSource
getDataSource
()
public
DBSDataSourceContainer
getDataSourceContainer
()
{
{
if
(
rootNode
instanceof
DBNDatabaseNode
)
{
if
(
rootNode
instanceof
DBNDatabaseNode
)
{
return
((
DBNDatabaseNode
)
rootNode
).
getObject
().
getDataSource
();
DBPDataSource
dataSource
=
((
DBNDatabaseNode
)
rootNode
).
getObject
().
getDataSource
();
if
(
dataSource
!=
null
)
{
return
dataSource
.
getContainer
();
}
}
}
return
null
;
return
null
;
}
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/ObjectListControl.java
浏览文件 @
6f42ef7b
...
@@ -33,6 +33,7 @@ import org.eclipse.swt.widgets.*;
...
@@ -33,6 +33,7 @@ import org.eclipse.swt.widgets.*;
import
org.eclipse.ui.views.properties.IPropertyDescriptor
;
import
org.eclipse.ui.views.properties.IPropertyDescriptor
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.model.IDataSourceContainerProvider
;
import
org.jkiss.dbeaver.model.IDataSourceProvider
;
import
org.jkiss.dbeaver.model.IDataSourceProvider
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.runtime.AbstractJob
;
import
org.jkiss.dbeaver.runtime.AbstractJob
;
...
@@ -367,8 +368,8 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
...
@@ -367,8 +368,8 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
}
}
IFilter
propertyFilter
=
new
DataSourcePropertyFilter
(
IFilter
propertyFilter
=
new
DataSourcePropertyFilter
(
ObjectListControl
.
this
instanceof
IDataSourceProvider
?
ObjectListControl
.
this
instanceof
IDataSource
Container
Provider
?
((
IDataSource
Provider
)
ObjectListControl
.
this
).
getDataSource
()
:
((
IDataSource
ContainerProvider
)
ObjectListControl
.
this
).
getDataSourceContainer
()
:
null
);
null
);
// Create columns from classes' annotations
// Create columns from classes' annotations
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/sql/BaseSQLDialog.java
浏览文件 @
6f42ef7b
...
@@ -41,7 +41,7 @@ import org.jkiss.dbeaver.ui.editors.StringEditorInput;
...
@@ -41,7 +41,7 @@ import org.jkiss.dbeaver.ui.editors.StringEditorInput;
import
org.jkiss.dbeaver.ui.editors.SubEditorSite
;
import
org.jkiss.dbeaver.ui.editors.SubEditorSite
;
import
org.jkiss.dbeaver.ui.editors.sql.SQLEditorBase
;
import
org.jkiss.dbeaver.ui.editors.sql.SQLEditorBase
;
public
abstract
class
BaseSQLDialog
extends
BaseDialog
implements
IDataSourceProvider
{
public
abstract
class
BaseSQLDialog
extends
BaseDialog
{
private
IEditorSite
subSite
;
private
IEditorSite
subSite
;
private
SQLEditorBase
sqlViewer
;
private
SQLEditorBase
sqlViewer
;
...
@@ -76,7 +76,7 @@ public abstract class BaseSQLDialog extends BaseDialog implements IDataSourcePro
...
@@ -76,7 +76,7 @@ public abstract class BaseSQLDialog extends BaseDialog implements IDataSourcePro
sqlViewer
=
new
SQLEditorBase
()
{
sqlViewer
=
new
SQLEditorBase
()
{
@Override
@Override
public
DBCExecutionContext
getExecutionContext
()
{
public
DBCExecutionContext
getExecutionContext
()
{
return
BaseSQLDialog
.
this
.
get
DataSource
();
return
BaseSQLDialog
.
this
.
get
ExecutionContext
();
}
}
};
};
updateSQL
();
updateSQL
();
...
@@ -100,6 +100,8 @@ public abstract class BaseSQLDialog extends BaseDialog implements IDataSourcePro
...
@@ -100,6 +100,8 @@ public abstract class BaseSQLDialog extends BaseDialog implements IDataSourcePro
return
panel
;
return
panel
;
}
}
protected
abstract
DBCExecutionContext
getExecutionContext
();
protected
abstract
String
getSQLText
();
protected
abstract
String
getSQLText
();
protected
void
createCopyButton
(
Composite
parent
)
protected
void
createCopyButton
(
Composite
parent
)
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/sql/GenerateMultiSQLDialog.java
浏览文件 @
6f42ef7b
...
@@ -130,7 +130,7 @@ public abstract class GenerateMultiSQLDialog<T extends DBSObject> extends Genera
...
@@ -130,7 +130,7 @@ public abstract class GenerateMultiSQLDialog<T extends DBSObject> extends Genera
generateObjectCommand
(
lines
,
object
);
generateObjectCommand
(
lines
,
object
);
objectsSQL
.
put
(
object
,
lines
);
objectsSQL
.
put
(
object
,
lines
);
}
}
final
DataSourceJob
job
=
new
DataSourceJob
(
jobName
,
null
,
get
DataSource
())
{
final
DataSourceJob
job
=
new
DataSourceJob
(
jobName
,
null
,
get
ExecutionContext
())
{
public
Exception
objectProcessingError
;
public
Exception
objectProcessingError
;
@Override
@Override
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/sql/GenerateSQLDialog.java
浏览文件 @
6f42ef7b
...
@@ -151,9 +151,8 @@ public abstract class GenerateSQLDialog extends BaseSQLDialog {
...
@@ -151,9 +151,8 @@ public abstract class GenerateSQLDialog extends BaseSQLDialog {
}
}
@Override
@Override
public
DBPDataSource
getDataSource
()
protected
DBCExecutionContext
getExecutionContext
()
{
{
return
executionContext
;
return
executionContext
.
getDataSource
();
}
}
@Override
@Override
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/sql/ViewSQLDialog.java
浏览文件 @
6f42ef7b
...
@@ -26,6 +26,7 @@ import org.eclipse.ui.IWorkbenchPartSite;
...
@@ -26,6 +26,7 @@ import org.eclipse.ui.IWorkbenchPartSite;
import
org.jkiss.code.Nullable
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.exec.DBCExecutionContext
;
public
class
ViewSQLDialog
extends
BaseSQLDialog
{
public
class
ViewSQLDialog
extends
BaseSQLDialog
{
...
@@ -106,10 +107,8 @@ public class ViewSQLDialog extends BaseSQLDialog {
...
@@ -106,10 +107,8 @@ public class ViewSQLDialog extends BaseSQLDialog {
}
}
}
}
@Nullable
@Override
@Override
public
DBPDataSource
getDataSource
()
protected
DBCExecutionContext
getExecutionContext
()
{
{
return
dataSource
;
return
dataSource
;
}
}
}
}
\ No newline at end of file
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/DataSourcePropertyFilter.java
浏览文件 @
6f42ef7b
...
@@ -19,9 +19,10 @@ package org.jkiss.dbeaver.ui.properties;
...
@@ -19,9 +19,10 @@ package org.jkiss.dbeaver.ui.properties;
import
org.eclipse.jface.preference.IPreferenceStore
;
import
org.eclipse.jface.preference.IPreferenceStore
;
import
org.eclipse.jface.viewers.IFilter
;
import
org.eclipse.jface.viewers.IFilter
;
import
org.jkiss.dbeaver.DBeaverPreferences
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.
DBeaverPreferences
;
import
org.jkiss.dbeaver.
model.struct.DBSDataSourceContainer
;
/**
/**
* Datasource property filter
* Datasource property filter
...
@@ -30,10 +31,19 @@ public class DataSourcePropertyFilter implements IFilter {
...
@@ -30,10 +31,19 @@ public class DataSourcePropertyFilter implements IFilter {
private
final
boolean
showExpensive
;
private
final
boolean
showExpensive
;
public
DataSourcePropertyFilter
()
{
this
((
DBSDataSourceContainer
)
null
);
}
public
DataSourcePropertyFilter
(
DBPDataSource
dataSource
)
public
DataSourcePropertyFilter
(
DBPDataSource
dataSource
)
{
{
IPreferenceStore
store
=
dataSource
!=
null
?
this
(
dataSource
==
null
?
null
:
dataSource
.
getContainer
());
dataSource
.
getContainer
().
getPreferenceStore
()
:
}
public
DataSourcePropertyFilter
(
DBSDataSourceContainer
container
)
{
IPreferenceStore
store
=
container
!=
null
?
container
.
getPreferenceStore
()
:
DBeaverCore
.
getGlobalPreferenceStore
();
DBeaverCore
.
getGlobalPreferenceStore
();
this
.
showExpensive
=
store
.
getBoolean
(
DBeaverPreferences
.
READ_EXPENSIVE_PROPERTIES
);
this
.
showExpensive
=
store
.
getBoolean
(
DBeaverPreferences
.
READ_EXPENSIVE_PROPERTIES
);
}
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/PropertySourceAbstract.java
浏览文件 @
6f42ef7b
...
@@ -17,7 +17,6 @@
...
@@ -17,7 +17,6 @@
*/
*/
package
org.jkiss.dbeaver.ui.properties
;
package
org.jkiss.dbeaver.ui.properties
;
import
org.jkiss.dbeaver.core.Log
;
import
org.eclipse.core.runtime.jobs.IJobChangeEvent
;
import
org.eclipse.core.runtime.jobs.IJobChangeEvent
;
import
org.eclipse.core.runtime.jobs.JobChangeAdapter
;
import
org.eclipse.core.runtime.jobs.JobChangeAdapter
;
import
org.eclipse.jface.viewers.IFilter
;
import
org.eclipse.jface.viewers.IFilter
;
...
@@ -25,6 +24,7 @@ import org.eclipse.swt.widgets.Shell;
...
@@ -25,6 +24,7 @@ import org.eclipse.swt.widgets.Shell;
import
org.eclipse.ui.views.properties.IPropertyDescriptor
;
import
org.eclipse.ui.views.properties.IPropertyDescriptor
;
import
org.eclipse.ui.views.properties.IPropertySource
;
import
org.eclipse.ui.views.properties.IPropertySource
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.core.Log
;
import
org.jkiss.dbeaver.model.IDataSourceProvider
;
import
org.jkiss.dbeaver.model.IDataSourceProvider
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
...
@@ -282,7 +282,7 @@ public abstract class PropertySourceAbstract implements IPropertySourceMulti
...
@@ -282,7 +282,7 @@ public abstract class PropertySourceAbstract implements IPropertySourceMulti
}
else
if
(
editableValue
instanceof
IDataSourceProvider
)
{
}
else
if
(
editableValue
instanceof
IDataSourceProvider
)
{
filter
=
new
DataSourcePropertyFilter
(((
IDataSourceProvider
)
editableValue
).
getDataSource
());
filter
=
new
DataSourcePropertyFilter
(((
IDataSourceProvider
)
editableValue
).
getDataSource
());
}
else
{
}
else
{
filter
=
new
DataSourcePropertyFilter
(
null
);
filter
=
new
DataSourcePropertyFilter
();
}
}
List
<
ObjectPropertyDescriptor
>
annoProps
=
ObjectAttributeDescriptor
.
extractAnnotations
(
this
,
editableValue
.
getClass
(),
filter
);
List
<
ObjectPropertyDescriptor
>
annoProps
=
ObjectAttributeDescriptor
.
extractAnnotations
(
this
,
editableValue
.
getClass
(),
filter
);
for
(
final
ObjectPropertyDescriptor
desc
:
annoProps
)
{
for
(
final
ObjectPropertyDescriptor
desc
:
annoProps
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录