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

Node list control fix: column list extraction must respect folder type

上级 b377ab11
...@@ -33,10 +33,7 @@ import org.jkiss.dbeaver.model.DBPObject; ...@@ -33,10 +33,7 @@ import org.jkiss.dbeaver.model.DBPObject;
import org.jkiss.dbeaver.model.IDataSourceContainerProvider; import org.jkiss.dbeaver.model.IDataSourceContainerProvider;
import org.jkiss.dbeaver.model.edit.DBECommandContext; import org.jkiss.dbeaver.model.edit.DBECommandContext;
import org.jkiss.dbeaver.model.edit.DBEObjectEditor; import org.jkiss.dbeaver.model.edit.DBEObjectEditor;
import org.jkiss.dbeaver.model.navigator.DBNDatabaseNode; import org.jkiss.dbeaver.model.navigator.*;
import org.jkiss.dbeaver.model.navigator.DBNEvent;
import org.jkiss.dbeaver.model.navigator.DBNNode;
import org.jkiss.dbeaver.model.navigator.INavigatorListener;
import org.jkiss.dbeaver.model.navigator.meta.DBXTreeFolder; import org.jkiss.dbeaver.model.navigator.meta.DBXTreeFolder;
import org.jkiss.dbeaver.model.navigator.meta.DBXTreeNode; import org.jkiss.dbeaver.model.navigator.meta.DBXTreeNode;
import org.jkiss.dbeaver.model.navigator.meta.DBXTreeNodeHandler; import org.jkiss.dbeaver.model.navigator.meta.DBXTreeNodeHandler;
...@@ -225,6 +222,12 @@ public abstract class NodeListControl extends ObjectListControl<DBNNode> impleme ...@@ -225,6 +222,12 @@ public abstract class NodeListControl extends ObjectListControl<DBNNode> impleme
if (getRootNode() instanceof DBNDatabaseNode) { if (getRootNode() instanceof DBNDatabaseNode) {
DBNDatabaseNode dbNode = (DBNDatabaseNode) getRootNode(); DBNDatabaseNode dbNode = (DBNDatabaseNode) getRootNode();
List<Class<?>> baseTypes = dbNode.getChildrenTypes(nodeMeta); List<Class<?>> baseTypes = dbNode.getChildrenTypes(nodeMeta);
if (CommonUtils.isEmpty(baseTypes) && dbNode instanceof DBNDatabaseFolder) {
Class<? extends DBSObject> childrenClass = ((DBNDatabaseFolder) dbNode).getChildrenClass();
if (childrenClass != null) {
return new Class[] { childrenClass };
}
}
// Collect base types for inline children // Collect base types for inline children
return CommonUtils.isEmpty(baseTypes) ? null : baseTypes.toArray(new Class<?>[baseTypes.size()]); return CommonUtils.isEmpty(baseTypes) ? null : baseTypes.toArray(new Class<?>[baseTypes.size()]);
} else { } else {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册