提交 6feb9125 编写于 作者: S serge-rider

#6595 Driver libraries resolution fix


Former-commit-id: ba2a5538
上级 e8335067
...@@ -562,7 +562,7 @@ public class DriverEditDialog extends HelpEnabledDialog { ...@@ -562,7 +562,7 @@ public class DriverEditDialog extends HelpEnabledDialog {
driver, driver,
DBPDriverLibrary.FileType.jar, DBPDriverLibrary.FileType.jar,
DriverLibraryMavenArtifact.PATH_PREFIX + fd.getArtifact().getPath(), DriverLibraryMavenArtifact.PATH_PREFIX + fd.getArtifact().getPath(),
null)); null), true);
changeLibContent(); changeLibContent();
} }
} }
...@@ -578,7 +578,7 @@ public class DriverEditDialog extends HelpEnabledDialog { ...@@ -578,7 +578,7 @@ public class DriverEditDialog extends HelpEnabledDialog {
driver, driver,
DBPDriverLibrary.FileType.jar, DBPDriverLibrary.FileType.jar,
selected, selected,
null)); null), true);
changeLibContent(); changeLibContent();
} }
} }
...@@ -601,7 +601,7 @@ public class DriverEditDialog extends HelpEnabledDialog { ...@@ -601,7 +601,7 @@ public class DriverEditDialog extends HelpEnabledDialog {
driver, driver,
fileName.endsWith(".jar") || fileName.endsWith(".zip") ? DBPDriverLibrary.FileType.jar : DBPDriverLibrary.FileType.lib, fileName.endsWith(".jar") || fileName.endsWith(".zip") ? DBPDriverLibrary.FileType.jar : DBPDriverLibrary.FileType.lib,
new File(folderFile, fileName).getAbsolutePath(), new File(folderFile, fileName).getAbsolutePath(),
null)); null), true);
} }
changeLibContent(); changeLibContent();
} }
...@@ -789,7 +789,7 @@ public class DriverEditDialog extends HelpEnabledDialog { ...@@ -789,7 +789,7 @@ public class DriverEditDialog extends HelpEnabledDialog {
Collection<DBPDriverLibrary> newLibList = CommonUtils.copyList(original ? driver.getOrigFiles() : origLibList); Collection<DBPDriverLibrary> newLibList = CommonUtils.copyList(original ? driver.getOrigFiles() : origLibList);
for (DBPDriverLibrary lib : newLibList) { for (DBPDriverLibrary lib : newLibList) {
lib.setDisabled(false); lib.setDisabled(false);
driver.addDriverLibrary(lib); driver.addDriverLibrary(lib, true);
} }
for (DBPDriverLibrary lib : CommonUtils.copyList(driver.getDriverLibraries())) { for (DBPDriverLibrary lib : CommonUtils.copyList(driver.getDriverLibraries())) {
if (!newLibList.contains(lib)) { if (!newLibList.contains(lib)) {
......
...@@ -775,13 +775,15 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver { ...@@ -775,13 +775,15 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver {
} }
} }
DriverLibraryAbstract lib = DriverLibraryAbstract.createFromPath(this, fileType, path, null); DriverLibraryAbstract lib = DriverLibraryAbstract.createFromPath(this, fileType, path, null);
addDriverLibrary(lib); addDriverLibrary(lib, true);
return lib; return lib;
} }
public boolean addDriverLibrary(DBPDriverLibrary descriptor) { public boolean addDriverLibrary(DBPDriverLibrary descriptor, boolean resetCache) {
if (!libraries.contains(descriptor)) { if (!libraries.contains(descriptor)) {
resetDriverInstance(); if (resetCache) {
resetDriverInstance();
}
this.libraries.add(descriptor); this.libraries.add(descriptor);
return true; return true;
} }
......
...@@ -24,7 +24,6 @@ import org.jkiss.dbeaver.registry.DataSourceProviderDescriptor; ...@@ -24,7 +24,6 @@ import org.jkiss.dbeaver.registry.DataSourceProviderDescriptor;
import org.jkiss.dbeaver.registry.DataSourceProviderRegistry; import org.jkiss.dbeaver.registry.DataSourceProviderRegistry;
import org.jkiss.dbeaver.registry.RegistryConstants; import org.jkiss.dbeaver.registry.RegistryConstants;
import org.jkiss.dbeaver.registry.maven.MavenArtifactReference; import org.jkiss.dbeaver.registry.maven.MavenArtifactReference;
import org.jkiss.dbeaver.utils.SystemVariablesResolver;
import org.jkiss.utils.CommonUtils; import org.jkiss.utils.CommonUtils;
import org.jkiss.utils.xml.SAXListener; import org.jkiss.utils.xml.SAXListener;
import org.jkiss.utils.xml.SAXReader; import org.jkiss.utils.xml.SAXReader;
...@@ -33,7 +32,6 @@ import org.xml.sax.Attributes; ...@@ -33,7 +32,6 @@ import org.xml.sax.Attributes;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -259,7 +257,7 @@ public class DriverDescriptorSerializerLegacy extends DriverDescriptorSerializer ...@@ -259,7 +257,7 @@ public class DriverDescriptorSerializerLegacy extends DriverDescriptorSerializer
lib.setDisabled(true); lib.setDisabled(true);
} else if (lib == null) { } else if (lib == null) {
lib = DriverLibraryAbstract.createFromPath(curDriver, type, path, version); lib = DriverLibraryAbstract.createFromPath(curDriver, type, path, version);
curDriver.addDriverLibrary(lib); curDriver.addDriverLibrary(lib, false);
} else if (!CommonUtils.isEmpty(version)) { } else if (!CommonUtils.isEmpty(version)) {
lib.setPreferredVersion(version); lib.setPreferredVersion(version);
} }
......
...@@ -209,7 +209,7 @@ public abstract class DriverLibraryAbstract implements DBPDriverLibrary ...@@ -209,7 +209,7 @@ public abstract class DriverLibraryAbstract implements DBPDriverLibrary
if (localFile == null) { if (localFile == null) {
throw new IOException("No target file for '" + getPath() + "'"); throw new IOException("No target file for '" + getPath() + "'");
} }
if (!forceUpdate && localFile.exists()) { if (!forceUpdate && localFile.exists() && localFile.length() > 0) {
return; return;
} }
final File localDir = localFile.getParentFile(); final File localDir = localFile.getParentFile();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册