Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
0c3384d6
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,发现更多精彩内容 >>
提交
0c3384d6
编写于
1月 14, 2017
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#1149 Custom Maven repos edit
Former-commit-id:
7fffcecb
上级
50171340
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
155 addition
and
131 deletion
+155
-131
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/maven/MavenRegistry.java
...e/src/org/jkiss/dbeaver/registry/maven/MavenRegistry.java
+43
-22
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/maven/MavenRepository.java
...src/org/jkiss/dbeaver/registry/maven/MavenRepository.java
+32
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageDrivers.java
...src/org/jkiss/dbeaver/ui/preferences/PrefPageDrivers.java
+10
-91
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageDriversMaven.java
...rg/jkiss/dbeaver/ui/preferences/PrefPageDriversMaven.java
+70
-16
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/maven/MavenRegistry.java
浏览文件 @
0c3384d6
...
...
@@ -21,14 +21,15 @@ import org.eclipse.core.runtime.IConfigurationElement;
import
org.eclipse.core.runtime.Platform
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.DBeaverPreferences
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.core.DBeaverActivator
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.utils.GeneralUtils
;
import
org.jkiss.utils.CommonUtils
;
import
org.jkiss.utils.xml.XMLBuilder
;
import
org.jkiss.utils.xml.XMLUtils
;
import
org.w3c.dom.Document
;
import
org.w3c.dom.Element
;
import
java.io.File
;
import
java.io.FileOutputStream
;
...
...
@@ -107,31 +108,51 @@ public class MavenRegistry
MavenRepository
.
RepositoryType
.
LOCAL
);
}
public
void
loadCustomRepositories
(
)
{
public
void
setCustomRepositories
(
List
<
MavenRepository
>
customRepositories
)
{
// Clear not-found cache
notFoundArtifacts
.
clear
();
// Remove all custom repositories
for
(
Iterator
<
MavenRepository
>
iterator
=
repositories
.
iterator
();
iterator
.
hasNext
();
)
{
MavenRepository
repository
=
iterator
.
next
();
if
(
repository
.
getType
()
==
MavenRepository
.
RepositoryType
.
CUSTOM
)
{
iterator
.
remove
();
// Remove old custom repos
for
(
Iterator
<
MavenRepository
>
iter
=
this
.
repositories
.
iterator
();
iter
.
hasNext
();
)
{
if
(
iter
.
next
().
getType
()
==
MavenRepository
.
RepositoryType
.
CUSTOM
)
{
iter
.
remove
();
}
}
// Parse repositories from preferences
String
repoString
=
DBeaverCore
.
getGlobalPreferenceStore
().
getString
(
DBeaverPreferences
.
UI_MAVEN_REPOSITORIES
);
if
(
CommonUtils
.
isEmpty
(
repoString
))
{
return
;
}
for
(
String
repoInfo
:
repoString
.
split
(
"\\|"
))
{
int
divPos
=
repoInfo
.
indexOf
(
':'
);
if
(
divPos
<
0
)
{
continue
;
// Add new and reorder
this
.
repositories
.
addAll
(
customRepositories
);
sortRepositories
();
}
public
void
loadCustomRepositories
()
{
final
File
cfgFile
=
getConfigurationFile
();
if
(
cfgFile
.
exists
())
{
try
{
final
Document
reposDocument
=
XMLUtils
.
parseDocument
(
cfgFile
);
for
(
Element
repoElement
:
XMLUtils
.
getChildElementList
(
reposDocument
.
getDocumentElement
(),
"repository"
))
{
String
repoID
=
repoElement
.
getAttribute
(
"id"
);
MavenRepository
repo
=
findRepository
(
repoID
);
if
(
repo
==
null
)
{
String
repoName
=
repoElement
.
getAttribute
(
"name"
);
String
repoURL
=
repoElement
.
getAttribute
(
"url"
);
repo
=
new
MavenRepository
(
repoID
,
repoName
,
repoURL
,
MavenRepository
.
RepositoryType
.
CUSTOM
);
List
<
String
>
scopes
=
new
ArrayList
<>();
for
(
Element
scopeElement
:
XMLUtils
.
getChildElementList
(
repoElement
,
"scope"
))
{
scopes
.
add
(
scopeElement
.
getAttribute
(
"group"
));
}
repo
.
setScopes
(
scopes
);
repositories
.
add
(
repo
);
}
repo
.
setOrder
(
CommonUtils
.
toInt
(
repoElement
.
getAttribute
(
"order"
)));
repo
.
setEnabled
(
CommonUtils
.
toBoolean
(
repoElement
.
getAttribute
(
"enabled"
)));
}
}
catch
(
Exception
e
)
{
log
.
error
(
"Error parsing maven repositories configuration"
,
e
);
}
String
repoID
=
repoInfo
.
substring
(
0
,
divPos
);
String
repoURL
=
repoInfo
.
substring
(
divPos
+
1
);
MavenRepository
repo
=
new
MavenRepository
(
repoID
,
repoID
,
repoURL
,
MavenRepository
.
RepositoryType
.
CUSTOM
);
repositories
.
add
(
repo
);
}
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/maven/MavenRepository.java
浏览文件 @
0c3384d6
...
...
@@ -54,7 +54,7 @@ public class MavenRepository
EXTERNAL
// POM-defined repository
}
private
final
String
id
;
private
String
id
;
private
final
RepositoryType
type
;
private
String
name
;
private
String
url
;
...
...
@@ -85,29 +85,59 @@ public class MavenRepository
public
MavenRepository
(
String
id
,
String
name
,
String
url
,
RepositoryType
type
)
{
this
.
id
=
id
;
this
.
type
=
type
;
this
.
name
=
CommonUtils
.
isEmpty
(
name
)
?
id
:
name
;
if
(!
url
.
endsWith
(
"/"
))
url
+=
"/"
;
this
.
url
=
url
;
this
.
type
=
type
;
}
// Copy constructor
public
MavenRepository
(
MavenRepository
source
)
{
this
.
id
=
source
.
id
;
this
.
type
=
source
.
type
;
this
.
name
=
source
.
name
;
this
.
url
=
source
.
url
;
this
.
scopes
.
addAll
(
source
.
scopes
);
this
.
order
=
source
.
order
;
this
.
enabled
=
source
.
enabled
;
this
.
description
=
source
.
description
;
}
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getUrl
()
{
return
url
;
}
public
void
setUrl
(
String
url
)
{
this
.
url
=
url
;
}
@NotNull
public
List
<
String
>
getScopes
()
{
return
scopes
;
}
public
void
setScopes
(
List
<
String
>
scopes
)
{
this
.
scopes
.
clear
();
this
.
scopes
.
addAll
(
scopes
);
}
public
RepositoryType
getType
()
{
return
type
;
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageDrivers.java
浏览文件 @
0c3384d6
...
...
@@ -35,17 +35,12 @@ import org.jkiss.dbeaver.model.preferences.DBPPreferenceStore;
import
org.jkiss.dbeaver.registry.driver.DriverDescriptor
;
import
org.jkiss.dbeaver.registry.encode.EncryptionException
;
import
org.jkiss.dbeaver.registry.encode.SecuredPasswordEncrypter
;
import
org.jkiss.dbeaver.registry.maven.MavenRegistry
;
import
org.jkiss.dbeaver.registry.maven.MavenRepository
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.DialogUtils
;
import
org.jkiss.dbeaver.ui.dialogs.EnterNameDialog
;
import
org.jkiss.dbeaver.utils.PrefUtils
;
import
org.jkiss.utils.CommonUtils
;
import
java.net.MalformedURLException
;
import
java.net.URL
;
/**
* PrefPageDrivers
*/
...
...
@@ -57,7 +52,6 @@ public class PrefPageDrivers extends AbstractPrefPage implements IWorkbenchPrefe
private
Button
versionUpdateCheck
;
private
Table
mavenRepoTable
;
private
List
sourceList
;
private
Text
proxyHostText
;
...
...
@@ -88,55 +82,18 @@ public class PrefPageDrivers extends AbstractPrefPage implements IWorkbenchPrefe
Group
settings
=
UIUtils
.
createControlGroup
(
composite
,
"Settings"
,
2
,
GridData
.
FILL_HORIZONTAL
,
300
);
versionUpdateCheck
=
UIUtils
.
createCheckbox
(
settings
,
"Check for new driver versions"
,
false
);
}
{
Group
mavenGroup
=
UIUtils
.
createControlGroup
(
composite
,
"Maven repositories"
,
2
,
GridData
.
FILL_HORIZONTAL
,
300
);
mavenRepoTable
=
new
Table
(
mavenGroup
,
SWT
.
BORDER
|
SWT
.
FULL_SELECTION
);
UIUtils
.
createTableColumn
(
mavenRepoTable
,
SWT
.
LEFT
,
"Id"
);
UIUtils
.
createTableColumn
(
mavenRepoTable
,
SWT
.
LEFT
,
"URL"
);
mavenRepoTable
.
setHeaderVisible
(
true
);
GridData
gd
=
new
GridData
(
GridData
.
FILL_BOTH
);
gd
.
heightHint
=
60
;
mavenRepoTable
.
setLayoutData
(
gd
);
Composite
buttonsPH
=
UIUtils
.
createPlaceholder
(
mavenGroup
,
1
);
UIUtils
.
createToolButton
(
buttonsPH
,
"Add"
,
new
SelectionAdapter
()
{
@Override
public
void
widgetSelected
(
SelectionEvent
e
)
{
String
urlString
=
EnterNameDialog
.
chooseName
(
getShell
(),
"Enter Maven repository URL"
,
"http://"
);
if
(
urlString
!=
null
)
{
try
{
URL
url
=
new
URL
(
urlString
);
new
TableItem
(
mavenRepoTable
,
SWT
.
NONE
).
setText
(
new
String
[]{
url
.
getHost
(),
urlString
});
}
catch
(
MalformedURLException
e1
)
{
UIUtils
.
showErrorDialog
(
getShell
(),
"Bad URL"
,
"Bad Maven repository URL"
,
e1
);
}
}
}
});
final
Button
removeButton
=
UIUtils
.
createToolButton
(
buttonsPH
,
"Remove"
,
new
SelectionAdapter
()
{
@Override
public
void
widgetSelected
(
SelectionEvent
e
)
{
mavenRepoTable
.
remove
(
mavenRepoTable
.
getSelectionIndices
());
mavenRepoTable
.
notifyListeners
(
SWT
.
Selection
,
new
Event
());
}
});
removeButton
.
setEnabled
(
false
);
{
Group
proxyObjects
=
UIUtils
.
createControlGroup
(
composite
,
CoreMessages
.
pref_page_ui_general_group_http_proxy
,
4
,
GridData
.
FILL_HORIZONTAL
|
GridData
.
VERTICAL_ALIGN_BEGINNING
,
300
);
proxyHostText
=
UIUtils
.
createLabelText
(
proxyObjects
,
CoreMessages
.
pref_page_ui_general_label_proxy_host
,
null
);
//$NON-NLS-2$
proxyPortSpinner
=
UIUtils
.
createLabelSpinner
(
proxyObjects
,
CoreMessages
.
pref_page_ui_general_spinner_proxy_port
,
0
,
0
,
65535
);
proxyUserText
=
UIUtils
.
createLabelText
(
proxyObjects
,
CoreMessages
.
pref_page_ui_general_label_proxy_user
,
null
);
//$NON-NLS-2$
proxyPasswordText
=
UIUtils
.
createLabelText
(
proxyObjects
,
CoreMessages
.
pref_page_ui_general_label_proxy_password
,
null
,
SWT
.
PASSWORD
|
SWT
.
BORDER
);
//$NON-NLS-2$
}
mavenRepoTable
.
addSelectionListener
(
new
SelectionAdapter
()
{
@Override
public
void
widgetSelected
(
SelectionEvent
e
)
{
boolean
enabled
=
false
;
TableItem
[]
selection
=
mavenRepoTable
.
getSelection
();
if
(
selection
.
length
==
1
)
{
enabled
=
selection
[
0
].
getData
()
instanceof
MavenRepository
&&
((
MavenRepository
)
selection
[
0
].
getData
()).
getType
()
==
MavenRepository
.
RepositoryType
.
CUSTOM
;
}
removeButton
.
setEnabled
(
enabled
);
}
});
{
Group
drivers
=
UIUtils
.
createControlGroup
(
composite
,
CoreMessages
.
pref_page_drivers_group_location
,
2
,
GridData
.
FILL_HORIZONTAL
,
300
);
customDriversHome
=
DialogUtils
.
createOutputFolderChooser
(
drivers
,
"Local folder"
,
null
);
}
{
...
...
@@ -177,21 +134,6 @@ public class PrefPageDrivers extends AbstractPrefPage implements IWorkbenchPrefe
});
}
{
Group
proxyObjects
=
UIUtils
.
createControlGroup
(
composite
,
CoreMessages
.
pref_page_ui_general_group_http_proxy
,
4
,
GridData
.
FILL_HORIZONTAL
|
GridData
.
VERTICAL_ALIGN_BEGINNING
,
300
);
proxyHostText
=
UIUtils
.
createLabelText
(
proxyObjects
,
CoreMessages
.
pref_page_ui_general_label_proxy_host
,
null
);
//$NON-NLS-2$
proxyPortSpinner
=
UIUtils
.
createLabelSpinner
(
proxyObjects
,
CoreMessages
.
pref_page_ui_general_spinner_proxy_port
,
0
,
0
,
65535
);
proxyUserText
=
UIUtils
.
createLabelText
(
proxyObjects
,
CoreMessages
.
pref_page_ui_general_label_proxy_user
,
null
);
//$NON-NLS-2$
proxyPasswordText
=
UIUtils
.
createLabelText
(
proxyObjects
,
CoreMessages
.
pref_page_ui_general_label_proxy_password
,
null
,
SWT
.
PASSWORD
|
SWT
.
BORDER
);
//$NON-NLS-2$
}
{
Group
drivers
=
UIUtils
.
createControlGroup
(
composite
,
CoreMessages
.
pref_page_drivers_group_location
,
2
,
GridData
.
FILL_HORIZONTAL
,
300
);
customDriversHome
=
DialogUtils
.
createOutputFolderChooser
(
drivers
,
"Local folder"
,
null
);
}
performDefaults
();
return
composite
;
...
...
@@ -222,13 +164,6 @@ public class PrefPageDrivers extends AbstractPrefPage implements IWorkbenchPrefe
for
(
String
source
:
DriverDescriptor
.
getDriversSources
())
{
sourceList
.
add
(
source
);
}
for
(
MavenRepository
repo
:
MavenRegistry
.
getInstance
().
getRepositories
())
{
TableItem
item
=
new
TableItem
(
mavenRepoTable
,
SWT
.
NONE
);
item
.
setText
(
new
String
[]{
repo
.
getId
(),
repo
.
getUrl
()});
item
.
setData
(
repo
);
}
UIUtils
.
packColumns
(
mavenRepoTable
,
true
);
super
.
performDefaults
();
}
...
...
@@ -262,22 +197,6 @@ public class PrefPageDrivers extends AbstractPrefPage implements IWorkbenchPrefe
store
.
setValue
(
DBeaverPreferences
.
UI_DRIVERS_SOURCES
,
sources
.
toString
());
}
{
StringBuilder
mavenRepos
=
new
StringBuilder
();
for
(
TableItem
item
:
mavenRepoTable
.
getItems
())
{
String
repoId
=
item
.
getText
(
0
);
String
repoURL
=
item
.
getText
(
1
);
MavenRepository
repository
=
MavenRegistry
.
getInstance
().
findRepository
(
repoId
);
if
(
repository
!=
null
&&
repository
.
getType
()
!=
MavenRepository
.
RepositoryType
.
CUSTOM
)
{
continue
;
}
if
(
mavenRepos
.
length
()
>
0
)
mavenRepos
.
append
(
'|'
);
mavenRepos
.
append
(
repoId
).
append
(
':'
).
append
(
repoURL
);
}
store
.
setValue
(
DBeaverPreferences
.
UI_MAVEN_REPOSITORIES
,
mavenRepos
.
toString
());
MavenRegistry
.
getInstance
().
loadCustomRepositories
();
}
PrefUtils
.
savePreferenceStore
(
store
);
return
super
.
performOk
();
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageDriversMaven.java
浏览文件 @
0c3384d6
...
...
@@ -19,6 +19,8 @@ package org.jkiss.dbeaver.ui.preferences;
import
org.eclipse.core.runtime.IAdaptable
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.events.ModifyEvent
;
import
org.eclipse.swt.events.ModifyListener
;
import
org.eclipse.swt.events.SelectionAdapter
;
import
org.eclipse.swt.events.SelectionEvent
;
import
org.eclipse.swt.graphics.Color
;
...
...
@@ -27,9 +29,6 @@ import org.eclipse.swt.widgets.*;
import
org.eclipse.ui.IWorkbench
;
import
org.eclipse.ui.IWorkbenchPreferencePage
;
import
org.eclipse.ui.IWorkbenchPropertyPage
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.model.preferences.DBPPreferenceStore
;
import
org.jkiss.dbeaver.registry.maven.MavenRegistry
;
import
org.jkiss.dbeaver.registry.maven.MavenRepository
;
import
org.jkiss.dbeaver.ui.UIUtils
;
...
...
@@ -38,6 +37,7 @@ import org.jkiss.utils.CommonUtils;
import
java.net.MalformedURLException
;
import
java.net.URL
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.Set
;
...
...
@@ -46,8 +46,6 @@ import java.util.Set;
*/
public
class
PrefPageDriversMaven
extends
AbstractPrefPage
implements
IWorkbenchPreferencePage
,
IWorkbenchPropertyPage
{
private
static
final
Log
log
=
Log
.
getLog
(
PrefPageDriversMaven
.
class
);
public
static
final
String
PAGE_ID
=
"org.jkiss.dbeaver.preferences.drivers.maven"
;
//$NON-NLS-1$
private
Table
mavenRepoTable
;
...
...
@@ -138,9 +136,43 @@ public class PrefPageDriversMaven extends AbstractPrefPage implements IWorkbench
{
Group
propsGroup
=
UIUtils
.
createControlGroup
(
composite
,
"Properties"
,
2
,
GridData
.
FILL_HORIZONTAL
,
0
);
idText
=
UIUtils
.
createLabelText
(
propsGroup
,
"ID"
,
""
,
SWT
.
BORDER
|
SWT
.
READ_ONLY
);
idText
.
addModifyListener
(
new
ModifyListener
()
{
@Override
public
void
modifyText
(
ModifyEvent
e
)
{
if
(
getSelectedRepository
()
!=
null
)
{
getSelectedRepository
().
setId
(
idText
.
getText
());
mavenRepoTable
.
getSelection
()[
0
].
setText
(
0
,
idText
.
getText
());
}
}
});
nameText
=
UIUtils
.
createLabelText
(
propsGroup
,
"Name"
,
""
,
SWT
.
BORDER
);
nameText
.
addModifyListener
(
new
ModifyListener
()
{
@Override
public
void
modifyText
(
ModifyEvent
e
)
{
if
(
getSelectedRepository
()
!=
null
)
{
getSelectedRepository
().
setName
(
nameText
.
getText
());
}
}
});
urlText
=
UIUtils
.
createLabelText
(
propsGroup
,
"URL"
,
""
,
SWT
.
BORDER
);
urlText
.
addModifyListener
(
new
ModifyListener
()
{
@Override
public
void
modifyText
(
ModifyEvent
e
)
{
if
(
getSelectedRepository
()
!=
null
)
{
getSelectedRepository
().
setUrl
(
urlText
.
getText
());
mavenRepoTable
.
getSelection
()[
0
].
setText
(
1
,
urlText
.
getText
());
}
}
});
scopeText
=
UIUtils
.
createLabelText
(
propsGroup
,
"Scope"
,
""
,
SWT
.
BORDER
);
scopeText
.
addModifyListener
(
new
ModifyListener
()
{
@Override
public
void
modifyText
(
ModifyEvent
e
)
{
if
(
getSelectedRepository
()
!=
null
)
{
getSelectedRepository
().
setScopes
(
CommonUtils
.
splitString
(
scopeText
.
getText
(),
','
));
}
}
});
}
performDefaults
();
...
...
@@ -148,10 +180,17 @@ public class PrefPageDriversMaven extends AbstractPrefPage implements IWorkbench
return
composite
;
}
private
void
updateSelection
()
{
private
MavenRepository
getSelectedRepository
()
{
TableItem
[]
selection
=
mavenRepoTable
.
getSelection
();
if
(
selection
.
length
==
1
)
{
final
MavenRepository
repo
=
(
MavenRepository
)
selection
[
0
].
getData
();
return
(
MavenRepository
)
selection
[
0
].
getData
();
}
return
null
;
}
private
void
updateSelection
()
{
final
MavenRepository
repo
=
getSelectedRepository
();
if
(
repo
!=
null
)
{
if
(
disabledRepositories
.
contains
(
repo
))
{
disableButton
.
setText
(
"Enable"
);
}
else
{
...
...
@@ -162,15 +201,18 @@ public class PrefPageDriversMaven extends AbstractPrefPage implements IWorkbench
removeButton
.
setEnabled
(
isEditable
);
idText
.
setEnabled
(
true
);
nameText
.
setEnabled
(
true
);
urlText
.
setEnabled
(
true
);
scopeText
.
setEnabled
(
true
);
idText
.
setEditable
(
isEditable
);
idText
.
setText
(
repo
.
getId
());
nameText
.
setEnabled
(
true
);
nameText
.
setEditable
(
isEditable
);
nameText
.
setText
(
repo
.
getName
());
urlText
.
setEnabled
(
true
);
urlText
.
setEditable
(
isEditable
);
urlText
.
setText
(
repo
.
getUrl
());
scopeText
.
setEnabled
(
true
);
scopeText
.
setEditable
(
isEditable
);
scopeText
.
setText
(
CommonUtils
.
makeString
(
repo
.
getScopes
(),
','
));
}
else
{
...
...
@@ -186,12 +228,11 @@ public class PrefPageDriversMaven extends AbstractPrefPage implements IWorkbench
@Override
protected
void
performDefaults
()
{
DBPPreferenceStore
store
=
DBeaverCore
.
getGlobalPreferenceStore
();
for
(
MavenRepository
repo
:
MavenRegistry
.
getInstance
().
getRepositories
())
{
MavenRepository
repoCopy
=
repo
.
getType
()
==
MavenRepository
.
RepositoryType
.
CUSTOM
?
new
MavenRepository
(
repo
)
:
repo
;
TableItem
item
=
new
TableItem
(
mavenRepoTable
,
SWT
.
NONE
);
item
.
setText
(
new
String
[]{
repo
.
getId
(),
repo
.
getUrl
()});
item
.
setData
(
repo
);
item
.
setText
(
new
String
[]{
repo
Copy
.
getId
(),
repoCopy
.
getUrl
()});
item
.
setData
(
repo
Copy
);
if
(!
repo
.
isEnabled
())
{
disabledRepositories
.
add
(
repo
);
item
.
setForeground
(
disabledColor
);
...
...
@@ -205,7 +246,20 @@ public class PrefPageDriversMaven extends AbstractPrefPage implements IWorkbench
@Override
public
boolean
performOk
()
{
MavenRegistry
.
getInstance
().
saveConfiguration
();
java
.
util
.
List
<
MavenRepository
>
customRepos
=
new
ArrayList
<>();
TableItem
[]
items
=
mavenRepoTable
.
getItems
();
for
(
int
i
=
0
;
i
<
items
.
length
;
i
++)
{
TableItem
item
=
items
[
i
];
MavenRepository
repo
=
(
MavenRepository
)
item
.
getData
();
repo
.
setEnabled
(!
disabledRepositories
.
contains
(
repo
));
repo
.
setOrder
(
i
);
if
(
repo
.
getType
()
==
MavenRepository
.
RepositoryType
.
CUSTOM
)
{
customRepos
.
add
(
repo
);
}
}
final
MavenRegistry
registry
=
MavenRegistry
.
getInstance
();
registry
.
setCustomRepositories
(
customRepos
);
registry
.
saveConfiguration
();
return
super
.
performOk
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录