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

#6595 Driver libraries resolution fix


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