提交 8442be14 编写于 作者: J jurgen

Maven version metadata

Former-commit-id: 3e8019f4
上级 7b8920ca
...@@ -183,6 +183,10 @@ public class MavenArtifact ...@@ -183,6 +183,10 @@ public class MavenArtifact
return null; return null;
} }
public MavenArtifactVersion getVersion(MavenLocalVersion localVersion) {
return localVersion.getMetaData();
}
public MavenLocalVersion makeLocalVersion(String versionStr, boolean setActive) throws IllegalArgumentException { public MavenLocalVersion makeLocalVersion(String versionStr, boolean setActive) throws IllegalArgumentException {
MavenLocalVersion version = getLocalVersion(versionStr); MavenLocalVersion version = getLocalVersion(versionStr);
if (version == null) { if (version == null) {
......
...@@ -43,11 +43,16 @@ public class MavenArtifactVersion ...@@ -43,11 +43,16 @@ public class MavenArtifactVersion
private List<String> licenses; private List<String> licenses;
private List<MavenArtifactReference> dependencies; private List<MavenArtifactReference> dependencies;
public MavenArtifactVersion(MavenLocalVersion localVersion) throws IOException { MavenArtifactVersion(MavenLocalVersion localVersion) throws IOException {
this.localVersion = localVersion; this.localVersion = localVersion;
loadPOM(); loadPOM();
} }
MavenArtifactVersion(String name, String version) {
this.name = name;
this.version = version;
}
public MavenLocalVersion getLocalVersion() { public MavenLocalVersion getLocalVersion() {
return localVersion; return localVersion;
} }
......
...@@ -17,7 +17,10 @@ ...@@ -17,7 +17,10 @@
*/ */
package org.jkiss.dbeaver.registry.maven; package org.jkiss.dbeaver.registry.maven;
import org.jkiss.dbeaver.Log;
import java.io.File; import java.io.File;
import java.io.IOException;
import java.util.Date; import java.util.Date;
/** /**
...@@ -27,10 +30,13 @@ import java.util.Date; ...@@ -27,10 +30,13 @@ import java.util.Date;
*/ */
public class MavenLocalVersion public class MavenLocalVersion
{ {
static final Log log = Log.getLog(MavenLocalVersion.class);
private MavenArtifact artifact; private MavenArtifact artifact;
private String version; private String version;
private String fileName; private String fileName;
private Date updateTime; private Date updateTime;
private MavenArtifactVersion metaData;
public MavenLocalVersion(MavenArtifact artifact, String version, String fileName, Date updateTime) { public MavenLocalVersion(MavenArtifact artifact, String version, String fileName, Date updateTime) {
this.artifact = artifact; this.artifact = artifact;
...@@ -55,11 +61,6 @@ public class MavenLocalVersion ...@@ -55,11 +61,6 @@ public class MavenLocalVersion
return updateTime; return updateTime;
} }
@Override
public String toString() {
return artifact.toString() + ":" + version + ":" + fileName;
}
public File getCacheFile() { public File getCacheFile() {
return new File(artifact.getRepository().getLocalCacheDir(), artifact.getGroupId() + "/" + fileName); return new File(artifact.getRepository().getLocalCacheDir(), artifact.getGroupId() + "/" + fileName);
} }
...@@ -67,4 +68,22 @@ public class MavenLocalVersion ...@@ -67,4 +68,22 @@ public class MavenLocalVersion
public String getExternalURL(String fileType) { public String getExternalURL(String fileType) {
return artifact.getFileURL(version, fileType); return artifact.getFileURL(version, fileType);
} }
public MavenArtifactVersion getMetaData() {
if (metaData == null) {
try {
metaData = new MavenArtifactVersion(this);
} catch (IOException e) {
log.warn("Error fetching POM file", e);
metaData = new MavenArtifactVersion(artifact.getArtifactId(), version);
}
}
return metaData;
}
@Override
public String toString() {
return artifact.toString() + ":" + version + ":" + fileName;
}
} }
...@@ -39,6 +39,7 @@ import org.jkiss.dbeaver.ui.UIUtils; ...@@ -39,6 +39,7 @@ import org.jkiss.dbeaver.ui.UIUtils;
/** /**
* ConnectionPageAbstract * ConnectionPageAbstract
*/ */
public abstract class ConnectionPageAbstract extends DialogPage implements IDataSourceConnectionEditor public abstract class ConnectionPageAbstract extends DialogPage implements IDataSourceConnectionEditor
{ {
protected IDataSourceConnectionEditorSite site; protected IDataSourceConnectionEditorSite site;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册