From b91599bdb8cc17bac6cc588a9fa1df158de2ffd3 Mon Sep 17 00:00:00 2001 From: jurgen Date: Fri, 16 Oct 2015 09:42:44 +0000 Subject: [PATCH] Driver download UI Former-commit-id: 0efb9a11f0fd9779bd3bb2601e53d6363b29e61a --- .../jkiss/dbeaver/registry/driver/DriverDescriptor.java | 4 ++++ .../jkiss/dbeaver/registry/driver/DriverLibraryLocal.java | 5 ----- .../registry/driver/DriverLibraryMavenArtifact.java | 8 +++----- .../registry/driver/DriverLibraryMavenDependency.java | 5 ----- .../dbeaver/registry/maven/MavenArtifactVersion.java | 3 +++ .../dbeaver/ui/dialogs/driver/DriverDownloadAutoPage.java | 5 ++++- .../jkiss/dbeaver/ui/dialogs/driver/DriverEditDialog.java | 2 +- .../jkiss/dbeaver/model/connection/DBPDriverLibrary.java | 4 +--- 8 files changed, 16 insertions(+), 20 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverDescriptor.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverDescriptor.java index 98422103d3..6c298da5f0 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverDescriptor.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverDescriptor.java @@ -965,6 +965,10 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver return result; } + public boolean isLibraryResolved(DBPDriverLibrary library) { + return !library.isDownloadable() || !CommonUtils.isEmpty(resolvedFiles.get(library)); + } + private void collectLibraryFiles(DBPDriverDependencies.DependencyNode node, List files) { if (node.duplicate) { return; diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryLocal.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryLocal.java index 9df6841f66..d7f8807c67 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryLocal.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryLocal.java @@ -52,11 +52,6 @@ public class DriverLibraryLocal extends DriverLibraryAbstract return false; } - @Override - public boolean isResolved() { - return true; - } - @Override public void resetVersion() { // do nothing diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryMavenArtifact.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryMavenArtifact.java index 00061524e9..459434a27f 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryMavenArtifact.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryMavenArtifact.java @@ -59,6 +59,9 @@ public class DriverLibraryMavenArtifact extends DriverLibraryAbstract @Override public String getDescription() { + if (localVersion != null) { + return localVersion.getDescription(); + } return null; } @@ -68,11 +71,6 @@ public class DriverLibraryMavenArtifact extends DriverLibraryAbstract return true; } - @Override - public boolean isResolved() { - return localVersion != null; - } - @Override public void resetVersion() { this.localVersion = null; diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryMavenDependency.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryMavenDependency.java index ba7a87309f..3f621e1bd2 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryMavenDependency.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/driver/DriverLibraryMavenDependency.java @@ -39,11 +39,6 @@ public class DriverLibraryMavenDependency extends DriverLibraryMavenArtifact this.source = source; } - @Override - public boolean isResolved() { - return true; - } - protected boolean isDependencyExcluded(DBRProgressMonitor monitor, MavenArtifactDependency dependency) { List exclusions = source.getExclusions(); if (exclusions != null) { diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/maven/MavenArtifactVersion.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/maven/MavenArtifactVersion.java index 09f1643f78..058ebb8cfc 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/maven/MavenArtifactVersion.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/maven/MavenArtifactVersion.java @@ -217,6 +217,9 @@ public class MavenArtifactVersion { url = XMLUtils.getChildElementBody(root, "url"); version = XMLUtils.getChildElementBody(root, "version"); description = XMLUtils.getChildElementBody(root, "description"); + if (description != null) { + description = description.trim().replaceAll("\\s+", " "); + } { // Parent Element parentElement = XMLUtils.getChildElement(root, "parent"); diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/driver/DriverDownloadAutoPage.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/driver/DriverDownloadAutoPage.java index f361c062c5..029817c522 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/driver/DriverDownloadAutoPage.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/driver/DriverDownloadAutoPage.java @@ -74,6 +74,7 @@ class DriverDownloadAutoPage extends DriverDownloadPage { filesTree.setLayoutData(new GridData(GridData.FILL_BOTH)); UIUtils.createTreeColumn(filesTree, SWT.LEFT, "File"); UIUtils.createTreeColumn(filesTree, SWT.LEFT, "Version"); + UIUtils.createTreeColumn(filesTree, SWT.LEFT, "Description"); } if (!wizard.isForceDownload()) { @@ -110,13 +111,14 @@ class DriverDownloadAutoPage extends DriverDownloadPage { return; } - int totalItems = 0; + int totalItems = 1; for (DBPDriverDependencies.DependencyNode node : getWizard().getDependencies().getLibraryMap()) { DBPDriverLibrary library = node.library; TreeItem item = new TreeItem(filesTree, SWT.NONE); item.setImage(DBeaverIcons.getImage(library.getIcon())); item.setText(0, library.getDisplayName()); item.setText(1, CommonUtils.notEmpty(library.getVersion())); + item.setText(2, CommonUtils.notEmpty(library.getDescription())); totalItems++; if (addDependencies(item, node)) { item.setExpanded(true); @@ -141,6 +143,7 @@ class DriverDownloadAutoPage extends DriverDownloadPage { item.setImage(DBeaverIcons.getImage(dep.library.getIcon())); item.setText(0, dep.library.getDisplayName()); item.setText(1, CommonUtils.notEmpty(dep.library.getVersion())); + item.setText(2, CommonUtils.notEmpty(dep.library.getDescription())); if (dep.duplicate) { item.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW)); diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/driver/DriverEditDialog.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/driver/DriverEditDialog.java index c3013846f9..930ae664bc 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/driver/DriverEditDialog.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/driver/DriverEditDialog.java @@ -333,7 +333,7 @@ public class DriverEditDialog extends HelpEnabledDialog File localFile = lib.getLocalFile(); if (localFile != null && localFile.exists()) { cell.setForeground(null); - } else if (!lib.isResolved()) { + } else if (!driver.isLibraryResolved(lib)) { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE)); } else { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED)); diff --git a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPDriverLibrary.java b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPDriverLibrary.java index cbc8cd2dc6..b8eacc18a9 100644 --- a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPDriverLibrary.java +++ b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPDriverLibrary.java @@ -54,7 +54,7 @@ public interface DBPDriverLibrary String getId(); /** - * Library version. If library doesn;t support versions returns null. + * Library version. If library doesn't support versions returns null. */ @Nullable String getVersion(); @@ -83,8 +83,6 @@ public interface DBPDriverLibrary boolean isDownloadable(); - boolean isResolved(); - @Nullable String getExternalURL(DBRProgressMonitor monitor); -- GitLab