mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
dbeaver/cloudbeaver#3736 filter non root empty folders fix (#3902)
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
This commit is contained in:
+9
-4
@@ -17,10 +17,7 @@
|
||||
package io.cloudbeaver.service.navigator.impl;
|
||||
|
||||
|
||||
import io.cloudbeaver.BaseWebProjectImpl;
|
||||
import io.cloudbeaver.DBWConstants;
|
||||
import io.cloudbeaver.DBWebException;
|
||||
import io.cloudbeaver.WebServiceUtils;
|
||||
import io.cloudbeaver.*;
|
||||
import io.cloudbeaver.model.WebCommandContext;
|
||||
import io.cloudbeaver.model.WebConnectionInfo;
|
||||
import io.cloudbeaver.model.rm.DBNAbstractResourceManagerNode;
|
||||
@@ -111,6 +108,14 @@ public class WebServiceNavigator implements DBWServiceNavigator {
|
||||
Set<String> nodeIds = new HashSet<>(); // filter duplicate node ids
|
||||
|
||||
for (DBNNode node : nodeChildren) {
|
||||
// TODO: find a better way to filter out empty folder nodes for non-admin users
|
||||
if (node instanceof DBNLocalFolder localFolderNode &&
|
||||
localFolderNode.getDataSourceRegistry() instanceof WebGlobalProjectRegistryProxy globalProjectRegistryProxy
|
||||
) {
|
||||
if (!globalProjectRegistryProxy.getAllFolders().contains(localFolderNode.getFolder())) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (node instanceof DBNDatabaseFolder folderNode && CommonUtils.isEmpty(folderNode.getMeta().getChildren(null))) {
|
||||
// Skip empty folders. Folder may become empty if their nested elements are provided by UI plugins.
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user