Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
07bd3594
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,发现更多精彩内容 >>
提交
07bd3594
编写于
8月 09, 2019
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#6269 Support empty password for JDBC drivers
Former-commit-id:
22435818
上级
481bbfa4
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
66 addition
and
27 deletion
+66
-27
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java
...dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java
+14
-11
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties
....core/src/org/jkiss/dbeaver/core/CoreResources.properties
+3
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/driver/DriverEditDialog.java
...org/jkiss/dbeaver/ui/dialogs/driver/DriverEditDialog.java
+13
-2
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/model/ExasolDataSource.java
.../org/jkiss/dbeaver/ext/exasol/model/ExasolDataSource.java
+2
-2
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerDataSource.java
...rg/jkiss/dbeaver/ext/mssql/model/SQLServerDataSource.java
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPDriver.java
...del/src/org/jkiss/dbeaver/model/connection/DBPDriver.java
+1
-0
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/JDBCDataSource.java
...src/org/jkiss/dbeaver/model/impl/jdbc/JDBCDataSource.java
+7
-2
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/driver/DriverDescriptor.java
...c/org/jkiss/dbeaver/registry/driver/DriverDescriptor.java
+12
-0
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/driver/DriverDescriptorSerializerLegacy.java
...ver/registry/driver/DriverDescriptorSerializerLegacy.java
+1
-0
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/driver/DriverDescriptorSerializerModern.java
...ver/registry/driver/DriverDescriptorSerializerModern.java
+12
-9
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java
浏览文件 @
07bd3594
...
...
@@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
public
class
CoreMessages
extends
NLS
{
public
static
final
String
BUNDLE_NAME
=
"org.jkiss.dbeaver.core.CoreResources"
;
//$NON-NLS-1$
public
static
String
actions_menu_about
;
public
static
String
actions_menu_check_update
;
public
static
String
actions_menu_database
;
...
...
@@ -43,7 +43,7 @@ public class CoreMessages extends NLS {
public
static
String
action_menu_transaction_manualcommit_description
;
public
static
String
action_menu_transaction_autocommit_description
;
public
static
String
action_menu_tools_find_in_navigator
;
public
static
String
action_menu_transactionMonitor_totalStatement
;
public
static
String
action_menu_transactionMonitor_modifyStatement
;
public
static
String
action_menu_transactionMonitor_autocommitMode
;
...
...
@@ -55,7 +55,7 @@ public class CoreMessages extends NLS {
public
static
String
actions_navigator_bookmark_title
;
public
static
String
common_error_sql
;
public
static
String
confirm_exit_title
;
public
static
String
confirm_exit_message
;
public
static
String
confirm_exit_toggleMessage
;
...
...
@@ -97,7 +97,7 @@ public class CoreMessages extends NLS {
public
static
String
dialog_connection_events_checkbox_terminate_at_disconnect
;
public
static
String
dialog_connection_events_checkbox_wait_finish
;
public
static
String
dialog_connection_events_checkbox_wait_finish_timeout
;
public
static
String
dialog_connection_events_label_command
;
public
static
String
dialog_connection_events_label_event
;
public
static
String
dialog_connection_events_title
;
...
...
@@ -392,7 +392,7 @@ public class CoreMessages extends NLS {
public
static
String
toolbar_editors_sql_run_script_name
;
public
static
String
toolbar_editors_sql_run_scriptNew_name
;
public
static
String
toolbar_editors_sql_run_explain_name
;
public
static
String
tools_script_execute_wizard_task_completed
;
public
static
String
tools_wizard_dialog_button_start
;
public
static
String
tools_wizard_error_task_error_message
;
...
...
@@ -407,7 +407,7 @@ public class CoreMessages extends NLS {
public
static
String
tools_wizard_page_log_task_progress
;
public
static
String
tools_wizard_page_log_task_progress_log
;
public
static
String
tools_wizard_page_log_task_started_at
;
public
static
String
editor_file_open_in_explorer
;
public
static
String
editor_file_copy_path
;
public
static
String
editor_file_rename
;
...
...
@@ -593,7 +593,7 @@ public class CoreMessages extends NLS {
public
static
String
dialog_connection_edit_wizard_sql_editor_description
;
public
static
String
dialog_connection_edit_wizard_sql_processing
;
public
static
String
dialog_connection_edit_wizard_sql_processing_description
;
public
static
String
dialog_connection_edit_wizard_conn_change_title
;
public
static
String
dialog_connection_edit_wizard_conn_change_question
;
public
static
String
dialog_connection_edit_wizard_lock_pwd_title
;
...
...
@@ -607,16 +607,19 @@ public class CoreMessages extends NLS {
public
static
String
dialog_edit_driver_setting
;
public
static
String
dialog_edit_driver_type_label
;
public
static
String
dialog_edit_driver_embedded_label
;
public
static
String
dialog_edit_driver_embedded_tip
;
public
static
String
dialog_edit_driver_anonymous_label
;
public
static
String
dialog_edit_driver_anonymous_tip
;
public
static
String
dialog_edit_driver_aloows_empty_password_label
;
public
static
String
dialog_edit_driver_aloows_empty_password_tip
;
public
static
String
dialog_edit_driver_description
;
public
static
String
dialog_edit_driver_edit_maven_title
;
public
static
String
dialog_edit_driver_edit_maven_group_id_label
;
public
static
String
dialog_edit_driver_edit_maven_artifact_id_label
;
public
static
String
dialog_edit_driver_edit_maven_classfier_label
;
public
static
String
dialog_edit_driver_edit_maven_version_label
;
public
static
String
dialog_edit_driver_text_driver_library
;
public
static
String
dialog_edit_driver_text_driver_library
;
public
static
String
dialog_edit_driver_info
;
public
static
String
dialog_edit_driver_driver
;
public
static
String
dialog_edit_driver_library
;
...
...
@@ -633,7 +636,7 @@ public class CoreMessages extends NLS {
// Driver download
public
static
String
dialog_driver_download_button_edit_dirver
;
public
static
String
dialog_driver_download_button_add_jars
;
public
static
String
dialog_driver_download_wizard_title_setting
;
public
static
String
dialog_driver_download_wizard_title_upload_files
;
public
static
String
dialog_driver_download_wizard_title_setup_files
;
...
...
@@ -653,7 +656,7 @@ public class CoreMessages extends NLS {
public
static
String
dialog_driver_download_manual_page_column_description
;
public
static
String
dialog_driver_download_manual_page_yes
;
public
static
String
dialog_driver_download_manual_page_no
;
public
static
String
dialog_driver_download_auto_page_auto_download
;
public
static
String
dialog_driver_download_auto_page_download_driver_files
;
public
static
String
dialog_driver_download_auto_page_download_specific_driver_files
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties
浏览文件 @
07bd3594
...
...
@@ -578,8 +578,11 @@ dialog_connection_edit_wizard_error_md5_msg =Can't generate password hash
## Driver edit ##
dialog_edit_driver_type_label
=
Driver Type
dialog_edit_driver_embedded_label
=
Embedded
dialog_edit_driver_embedded_tip
=
Embedded driver. Doesn't need any network configuration.
\n
Also only one shared connection is used for embedded drivers.
dialog_edit_driver_anonymous_label
=
No authentication
dialog_edit_driver_anonymous_tip
=
Driver doesn't require user authentication
dialog_edit_driver_aloows_empty_password_label
=
Allow Empty Password
dialog_edit_driver_aloows_empty_password_tip
=
Driver allows empty password. Otherwise "empty password" = "no password".
dialog_edit_driver_setting
=
Settings
dialog_edit_driver_description
=
Description
dialog_edit_driver_edit_maven_title
=
Edit Maven Artifact
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/driver/DriverEditDialog.java
浏览文件 @
07bd3594
...
...
@@ -97,6 +97,7 @@ public class DriverEditDialog extends HelpEnabledDialog {
private
ClientHomesPanel
clientHomesPanel
;
private
Button
embeddedDriverCheck
;
private
Button
anonymousDriverCheck
;
private
Button
allowsEmptyPasswordCheck
;
private
boolean
showAddFiles
=
false
;
...
...
@@ -247,15 +248,23 @@ public class DriverEditDialog extends HelpEnabledDialog {
driverPortText
.
setLayoutData
(
new
GridData
(
SWT
.
NONE
));
driverPortText
.
addModifyListener
(
e
->
onChangeProperty
());
embeddedDriverCheck
=
UIUtils
.
createCheckbox
(
propsGroup
,
CoreMessages
.
dialog_edit_driver_embedded_label
,
driver
.
isEmbedded
());
Composite
optionsPanel
=
UIUtils
.
createComposite
(
propsGroup
,
3
);
gd
=
new
GridData
(
GridData
.
FILL_HORIZONTAL
);
gd
.
horizontalSpan
=
2
;
optionsPanel
.
setLayoutData
(
gd
);
embeddedDriverCheck
=
UIUtils
.
createCheckbox
(
optionsPanel
,
CoreMessages
.
dialog_edit_driver_embedded_label
,
CoreMessages
.
dialog_edit_driver_embedded_tip
,
driver
.
isEmbedded
(),
1
);
embeddedDriverCheck
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_HORIZONTAL
));
anonymousDriverCheck
=
UIUtils
.
createCheckbox
(
propsGroup
,
CoreMessages
.
dialog_edit_driver_anonymous_label
,
CoreMessages
.
dialog_edit_driver_anonymous_tip
,
driver
.
isAnonymousAccess
(),
1
);
anonymousDriverCheck
=
UIUtils
.
createCheckbox
(
optionsPanel
,
CoreMessages
.
dialog_edit_driver_anonymous_label
,
CoreMessages
.
dialog_edit_driver_anonymous_tip
,
driver
.
isAnonymousAccess
(),
1
);
anonymousDriverCheck
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_HORIZONTAL
));
allowsEmptyPasswordCheck
=
UIUtils
.
createCheckbox
(
optionsPanel
,
CoreMessages
.
dialog_edit_driver_aloows_empty_password_label
,
CoreMessages
.
dialog_edit_driver_aloows_empty_password_tip
,
driver
.
isAnonymousAccess
(),
1
);
allowsEmptyPasswordCheck
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_HORIZONTAL
));
if
(
isReadOnly
)
{
embeddedDriverCheck
.
setEnabled
(
false
);
anonymousDriverCheck
.
setEnabled
(
false
);
allowsEmptyPasswordCheck
.
setEnabled
(
false
);
}
}
...
...
@@ -744,6 +753,7 @@ public class DriverEditDialog extends HelpEnabledDialog {
embeddedDriverCheck
.
setSelection
(
driver
.
isEmbedded
());
anonymousDriverCheck
.
setSelection
(
driver
.
isAnonymousAccess
());
allowsEmptyPasswordCheck
.
setSelection
(
driver
.
isAllowsEmptyPassword
());
if
(
original
)
{
resetLibraries
(
true
);
...
...
@@ -800,6 +810,7 @@ public class DriverEditDialog extends HelpEnabledDialog {
driver
.
setDriverDefaultPort
(
driverPortText
.
getText
());
driver
.
setEmbedded
(
embeddedDriverCheck
.
getSelection
());
driver
.
setAnonymousAccess
(
anonymousDriverCheck
.
getSelection
());
driver
.
setAllowsEmptyPassword
(
allowsEmptyPasswordCheck
.
getSelection
());
// driver.setAnonymousAccess(anonymousCheck.getSelection());
driver
.
setModified
(
true
);
...
...
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/model/ExasolDataSource.java
浏览文件 @
07bd3594
...
...
@@ -330,8 +330,8 @@ public class ExasolDataSource extends JDBCDataSource
}
@Override
protected
Properties
getAllConnectionProperties
(
DBRProgressMonitor
monitor
,
String
purpose
,
DBPConnectionConfiguration
connectionInfo
)
throws
DBCException
{
protected
Properties
getAllConnectionProperties
(
@NotNull
DBRProgressMonitor
monitor
,
String
purpose
,
DBPConnectionConfiguration
connectionInfo
)
throws
DBCException
{
Properties
props
=
super
.
getAllConnectionProperties
(
monitor
,
purpose
,
connectionInfo
);
...
...
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerDataSource.java
浏览文件 @
07bd3594
...
...
@@ -74,7 +74,7 @@ public class SQLServerDataSource extends JDBCDataSource implements DBSObjectSele
}
@Override
protected
Properties
getAllConnectionProperties
(
DBRProgressMonitor
monitor
,
String
purpose
,
DBPConnectionConfiguration
connectionInfo
)
throws
DBCException
{
protected
Properties
getAllConnectionProperties
(
@NotNull
DBRProgressMonitor
monitor
,
String
purpose
,
DBPConnectionConfiguration
connectionInfo
)
throws
DBCException
{
Properties
properties
=
super
.
getAllConnectionProperties
(
monitor
,
purpose
,
connectionInfo
);
if
(!
getContainer
().
getPreferenceStore
().
getBoolean
(
ModelPreferences
.
META_CLIENT_NAME_DISABLE
))
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPDriver.java
浏览文件 @
07bd3594
...
...
@@ -88,6 +88,7 @@ public interface DBPDriver extends DBPNamedObject
boolean
isEmbedded
();
boolean
isAnonymousAccess
();
boolean
isAllowsEmptyPassword
();
boolean
isLicenseRequired
();
boolean
isCustomDriverLoader
();
boolean
isUseURL
();
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/JDBCDataSource.java
浏览文件 @
07bd3594
...
...
@@ -217,8 +217,13 @@ public abstract class JDBCDataSource
if
(!
CommonUtils
.
isEmpty
(
connectionInfo
.
getUserName
()))
{
connectProps
.
put
(
DBConstants
.
DATA_SOURCE_PROPERTY_USER
,
getConnectionUserName
(
connectionInfo
));
}
if
(!
CommonUtils
.
isEmpty
(
connectionInfo
.
getUserPassword
()))
{
connectProps
.
put
(
DBConstants
.
DATA_SOURCE_PROPERTY_PASSWORD
,
getConnectionUserPassword
(
connectionInfo
));
boolean
allowsEmptyPassword
=
getContainer
().
getDriver
().
isAllowsEmptyPassword
();
String
password
=
getConnectionUserPassword
(
connectionInfo
);
if
(
password
==
null
&&
allowsEmptyPassword
)
{
password
=
""
;
}
if
(!
CommonUtils
.
isEmpty
(
password
)
||
(
allowsEmptyPassword
&&
!
CommonUtils
.
isEmpty
(
getConnectionUserName
(
connectionInfo
))))
{
connectProps
.
put
(
DBConstants
.
DATA_SOURCE_PROPERTY_PASSWORD
,
password
);
}
return
connectProps
;
}
...
...
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/driver/DriverDescriptor.java
浏览文件 @
07bd3594
...
...
@@ -123,6 +123,7 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver {
private
boolean
clientRequired
;
private
boolean
supportsDriverProperties
;
private
boolean
anonymousAccess
;
private
boolean
allowsEmptyPassword
;
private
boolean
licenseRequired
;
private
boolean
customDriverLoader
;
private
boolean
useURLTemplate
;
...
...
@@ -203,6 +204,7 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver {
this
.
clientRequired
=
copyFrom
.
clientRequired
;
this
.
supportsDriverProperties
=
copyFrom
.
supportsDriverProperties
;
this
.
anonymousAccess
=
copyFrom
.
anonymousAccess
;
this
.
allowsEmptyPassword
=
copyFrom
.
allowsEmptyPassword
;
this
.
licenseRequired
=
copyFrom
.
licenseRequired
;
this
.
customDriverLoader
=
copyFrom
.
customDriverLoader
;
this
.
useURLTemplate
=
copyFrom
.
customDriverLoader
;
...
...
@@ -256,6 +258,7 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver {
this
.
supportsDriverProperties
=
CommonUtils
.
getBoolean
(
config
.
getAttribute
(
RegistryConstants
.
ATTR_SUPPORTS_DRIVER_PROPERTIES
),
true
);
this
.
embedded
=
CommonUtils
.
getBoolean
(
config
.
getAttribute
(
RegistryConstants
.
ATTR_EMBEDDED
));
this
.
anonymousAccess
=
CommonUtils
.
getBoolean
(
config
.
getAttribute
(
RegistryConstants
.
ATTR_ANONYMOUS
));
this
.
allowsEmptyPassword
=
CommonUtils
.
getBoolean
(
"allowsEmptyPassword"
);
this
.
licenseRequired
=
CommonUtils
.
getBoolean
(
config
.
getAttribute
(
RegistryConstants
.
ATTR_LICENSE_REQUIRED
));
this
.
custom
=
false
;
this
.
isLoaded
=
false
;
...
...
@@ -642,6 +645,15 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver {
this
.
anonymousAccess
=
anonymousAccess
;
}
@Override
public
boolean
isAllowsEmptyPassword
()
{
return
allowsEmptyPassword
;
}
public
void
setAllowsEmptyPassword
(
boolean
allowsEmptyPassword
)
{
this
.
allowsEmptyPassword
=
allowsEmptyPassword
;
}
@Override
public
boolean
isLicenseRequired
()
{
return
licenseRequired
;
...
...
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/driver/DriverDescriptorSerializerLegacy.java
浏览文件 @
07bd3594
...
...
@@ -206,6 +206,7 @@ public class DriverDescriptorSerializerLegacy extends DriverDescriptorSerializer
curDriver
.
setSampleURL
(
atts
.
getValue
(
RegistryConstants
.
ATTR_URL
));
curDriver
.
setDriverDefaultPort
(
atts
.
getValue
(
RegistryConstants
.
ATTR_PORT
));
curDriver
.
setEmbedded
(
CommonUtils
.
getBoolean
(
atts
.
getValue
(
RegistryConstants
.
ATTR_EMBEDDED
),
false
));
curDriver
.
setAllowsEmptyPassword
(
CommonUtils
.
getBoolean
(
atts
.
getValue
(
"allowsEmptyPassword"
),
false
));
}
if
(
atts
.
getValue
(
RegistryConstants
.
ATTR_CUSTOM_DRIVER_LOADER
)
!=
null
)
{
curDriver
.
setCustomDriverLoader
((
...
...
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/driver/DriverDescriptorSerializerModern.java
浏览文件 @
07bd3594
...
...
@@ -52,23 +52,26 @@ public class DriverDescriptorSerializerModern extends DriverDescriptorSerializer
JSONUtils
.
fieldNE
(
json
,
RegistryConstants
.
ATTR_PROVIDER
,
driver
.
getProviderDescriptor
().
getId
());
}
JSONUtils
.
field
(
json
,
RegistryConstants
.
ATTR_ID
,
driver
.
getId
());
if
(
driver
.
isDisabled
())
{
JSONUtils
.
field
(
json
,
RegistryConstants
.
ATTR_DISABLED
,
true
);
}
if
(!
CommonUtils
.
isEmpty
(
driver
.
getCategory
()))
{
JSONUtils
.
fieldNE
(
json
,
RegistryConstants
.
ATTR_CATEGORY
,
driver
.
getCategory
());
}
JSONUtils
.
fieldNE
(
json
,
RegistryConstants
.
ATTR_CATEGORIES
,
String
.
join
(
","
,
driver
.
getCategories
()));
JSONUtils
.
field
(
json
,
RegistryConstants
.
ATTR_CUSTOM
,
driver
.
isCustom
());
JSONUtils
.
field
(
json
,
RegistryConstants
.
ATTR_EMBEDDED
,
driver
.
isEmbedded
());
JSONUtils
.
field
(
json
,
RegistryConstants
.
ATTR_NAME
,
driver
.
getName
());
JSONUtils
.
field
(
json
,
RegistryConstants
.
ATTR_CLASS
,
driver
.
getDriverClassName
());
JSONUtils
.
fieldNE
(
json
,
RegistryConstants
.
ATTR_URL
,
driver
.
getSampleURL
());
JSONUtils
.
fieldNE
(
json
,
RegistryConstants
.
ATTR_PORT
,
driver
.
getDefaultPort
());
JSONUtils
.
fieldNE
(
json
,
RegistryConstants
.
ATTR_DESCRIPTION
,
driver
.
getDescription
());
JSONUtils
.
fieldNE
(
json
,
RegistryConstants
.
ATTR_CATEGORIES
,
String
.
join
(
","
,
driver
.
getCategories
()));
JSONUtils
.
field
(
json
,
RegistryConstants
.
ATTR_CUSTOM
,
driver
.
isCustom
());
JSONUtils
.
field
(
json
,
RegistryConstants
.
ATTR_EMBEDDED
,
driver
.
isEmbedded
());
JSONUtils
.
field
(
json
,
RegistryConstants
.
ATTR_ANONYMOUS
,
driver
.
isAnonymousAccess
());
JSONUtils
.
field
(
json
,
"allowsEmptyPassword"
,
driver
.
isAnonymousAccess
());
if
(
driver
.
isCustomDriverLoader
())
{
JSONUtils
.
field
(
json
,
RegistryConstants
.
ATTR_CUSTOM_DRIVER_LOADER
,
driver
.
isCustomDriverLoader
());
}
if
(
driver
.
isDisabled
())
{
JSONUtils
.
field
(
json
,
RegistryConstants
.
ATTR_DISABLED
,
true
);
}
if
(!
CommonUtils
.
isEmpty
(
driver
.
getCategory
()))
{
JSONUtils
.
fieldNE
(
json
,
RegistryConstants
.
ATTR_CATEGORY
,
driver
.
getCategory
());
}
if
(!
CommonUtils
.
isEmpty
(
driver
.
getDriverLibraries
()))
{
json
.
name
(
"libraries"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录