Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
4df91b2d
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,发现更多精彩内容 >>
提交
4df91b2d
编写于
10月 10, 2015
作者:
J
jurgen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Dependencies model
上级
a6367fa2
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
74 addition
and
10 deletion
+74
-10
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverDependencies.java
...org/jkiss/dbeaver/registry/driver/DriverDependencies.java
+3
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryLocal.java
...org/jkiss/dbeaver/registry/driver/DriverLibraryLocal.java
+13
-6
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryMavenArtifact.java
...s/dbeaver/registry/driver/DriverLibraryMavenArtifact.java
+50
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/maven/MavenArtifactVersion.java
...rg/jkiss/dbeaver/registry/maven/MavenArtifactVersion.java
+4
-3
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPDriverLibrary.java
.../org/jkiss/dbeaver/model/connection/DBPDriverLibrary.java
+4
-0
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverDependencies.java
浏览文件 @
4df91b2d
...
...
@@ -44,6 +44,8 @@ public class DriverDependencies implements DBPDriverDependencies
final
Map
<
String
,
DBPDriverLibrary
>
libMap
=
new
LinkedHashMap
<>();
for
(
DBPDriverLibrary
library
:
rootLibraries
)
{
DependencyNode
node
=
new
DependencyNode
(
null
,
library
);
libMap
.
put
(
node
.
library
.
getId
(),
node
.
library
);
resolveDependencies
(
monitor
,
node
,
libMap
);
rootNodes
.
add
(
node
);
}
...
...
@@ -88,7 +90,7 @@ public class DriverDependencies implements DBPDriverDependencies
}
private
void
resolveDependencies
(
DBRProgressMonitor
monitor
,
DependencyNode
ownerNode
,
Map
<
String
,
DBPDriverLibrary
>
libMap
)
throws
IOException
{
Collection
<?
extends
DBPDriverLibrary
>
dependencies
=
ownerNode
.
library
.
getDependencies
(
monitor
,
ownerNode
.
owner
==
null
?
null
:
ownerNode
.
owner
.
library
);
Collection
<?
extends
DBPDriverLibrary
>
dependencies
=
ownerNode
.
library
.
getDependencies
(
monitor
,
ownerNode
.
owner
);
if
(
dependencies
!=
null
&&
!
dependencies
.
isEmpty
())
{
for
(
DBPDriverLibrary
dep
:
dependencies
)
{
DependencyNode
node
=
new
DependencyNode
(
ownerNode
,
dep
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryLocal.java
浏览文件 @
4df91b2d
...
...
@@ -23,6 +23,7 @@ import org.eclipse.core.runtime.Platform;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.model.DBIcon
;
import
org.jkiss.dbeaver.model.connection.DBPDriverDependencies
;
import
org.jkiss.dbeaver.model.connection.DBPDriverLibrary
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.ui.UIIcon
;
...
...
@@ -108,6 +109,18 @@ public class DriverLibraryLocal extends DriverLibraryAbstract
return
platformFile
;
}
@Nullable
@Override
public
Collection
<?
extends
DBPDriverLibrary
>
getDependencies
(
@NotNull
DBRProgressMonitor
monitor
,
@Nullable
DBPDriverDependencies
.
DependencyNode
ownerNode
)
throws
IOException
{
return
null
;
}
@Nullable
@Override
public
Collection
<
DBPDriverLibrary
>
getDependencies
(
@NotNull
DBRProgressMonitor
monitor
,
DBPDriverLibrary
ownerLibrary
)
throws
IOException
{
return
null
;
}
protected
File
detectLocalFile
()
{
String
localPath
=
getLocalFilePath
();
...
...
@@ -121,12 +134,6 @@ public class DriverLibraryLocal extends DriverLibraryAbstract
return
file
;
}
@Nullable
@Override
public
Collection
<
DBPDriverLibrary
>
getDependencies
(
@NotNull
DBRProgressMonitor
monitor
,
DBPDriverLibrary
ownerLibrary
)
throws
IOException
{
return
null
;
}
@NotNull
public
String
getDisplayName
()
{
return
path
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryMavenArtifact.java
浏览文件 @
4df91b2d
...
...
@@ -22,6 +22,7 @@ import org.jkiss.code.NotNull;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.model.DBIcon
;
import
org.jkiss.dbeaver.model.connection.DBPDriverDependencies
;
import
org.jkiss.dbeaver.model.connection.DBPDriverLibrary
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.VoidProgressMonitor
;
...
...
@@ -131,6 +132,55 @@ public class DriverLibraryMavenArtifact extends DriverLibraryAbstract
return
null
;
}
@Nullable
@Override
public
Collection
<?
extends
DBPDriverLibrary
>
getDependencies
(
@NotNull
DBRProgressMonitor
monitor
,
@Nullable
DBPDriverDependencies
.
DependencyNode
ownerNode
)
throws
IOException
{
List
<
DriverLibraryMavenDependency
>
dependencies
=
new
ArrayList
<>();
MavenLocalVersion
localVersion
=
resolveLocalVersion
(
monitor
,
false
);
if
(
localVersion
!=
null
)
{
MavenArtifactVersion
metaData
=
localVersion
.
getMetaData
(
monitor
);
List
<
MavenArtifactDependency
>
artifactDeps
=
metaData
.
getDependencies
(
monitor
);
if
(!
CommonUtils
.
isEmpty
(
artifactDeps
))
{
for
(
MavenArtifactDependency
artifactDep
:
artifactDeps
)
{
if
(
isDependencyExcluded
(
monitor
,
artifactDep
,
ownerNode
))
{
continue
;
}
MavenLocalVersion
depLocalVersion
=
artifactDep
.
resolveDependency
(
monitor
);
if
(
depLocalVersion
!=
null
)
{
dependencies
.
add
(
new
DriverLibraryMavenDependency
(
this
.
getDriver
(),
depLocalVersion
));
}
}
}
}
return
dependencies
;
}
private
boolean
isDependencyExcluded
(
DBRProgressMonitor
monitor
,
MavenArtifactDependency
dependency
,
DBPDriverDependencies
.
DependencyNode
ownerNode
)
{
for
(
DBPDriverDependencies
.
DependencyNode
node
=
ownerNode
;
node
!=
null
;
node
=
node
.
owner
)
{
DBPDriverLibrary
library
=
node
.
library
;
if
(
library
instanceof
DriverLibraryMavenArtifact
)
{
MavenLocalVersion
ownerVersion
=
((
DriverLibraryMavenArtifact
)
library
).
getMavenLocalVersion
();
if
(
ownerVersion
!=
null
)
{
for
(
MavenArtifactDependency
ownerDependency
:
ownerVersion
.
getMetaData
(
monitor
).
getDependencies
(
monitor
))
{
List
<
MavenArtifactReference
>
ownerDependencyExclusions
=
ownerDependency
.
getExclusions
();
if
(
ownerDependencyExclusions
!=
null
)
{
for
(
MavenArtifactReference
exReference
:
ownerDependencyExclusions
)
{
if
(
exReference
.
getGroupId
().
equals
(
dependency
.
getGroupId
())
&&
exReference
.
getArtifactId
().
equals
(
dependency
.
getArtifactId
()))
{
return
true
;
}
}
}
}
}
}
}
return
false
;
}
@Nullable
@Override
public
Collection
<?
extends
DBPDriverLibrary
>
getDependencies
(
@NotNull
DBRProgressMonitor
monitor
,
DBPDriverLibrary
ownerLibrary
)
throws
IOException
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/maven/MavenArtifactVersion.java
浏览文件 @
4df91b2d
...
...
@@ -133,9 +133,10 @@ public class MavenArtifactVersion {
if
(
CommonUtils
.
isEmpty
(
dependencies
))
{
return
parentDependencies
;
}
parentDependencies
=
new
ArrayList
<>(
parentDependencies
);
parentDependencies
.
addAll
(
dependencies
);
return
parentDependencies
;
List
<
MavenArtifactDependency
>
result
=
new
ArrayList
<>(
dependencies
.
size
()
+
parentDependencies
.
size
());
result
.
addAll
(
dependencies
);
result
.
addAll
(
parentDependencies
);
return
result
;
}
}
return
this
.
dependencies
;
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPDriverLibrary.java
浏览文件 @
4df91b2d
...
...
@@ -26,6 +26,7 @@ import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import
java.io.File
;
import
java.io.IOException
;
import
java.util.Collection
;
import
java.util.List
;
/**
* Driver library
...
...
@@ -93,6 +94,9 @@ public interface DBPDriverLibrary
boolean
matchesCurrentPlatform
();
@Nullable
Collection
<?
extends
DBPDriverLibrary
>
getDependencies
(
@NotNull
DBRProgressMonitor
monitor
,
@Nullable
DBPDriverDependencies
.
DependencyNode
ownerNode
)
throws
IOException
;
@Nullable
Collection
<?
extends
DBPDriverLibrary
>
getDependencies
(
@NotNull
DBRProgressMonitor
monitor
,
@Nullable
DBPDriverLibrary
ownerLibrary
)
throws
IOException
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录