Java Intellij插件:从数据库获取存储过程

Java Intellij插件:从数据库获取存储过程,java,intellij-plugin,Java,Intellij Plugin,我正在开发一个Intellij(所有产品:phpStorm、Rider、Idea等)插件,从数据源(数据库工具窗口)生成代码 我得到了如下所需的数据: // Get all data sources ProjectManager pm = ProjectManager.getInstance(); Project[] projects = pm.getOpenProjects(); Arrays.stream(projects).map(project -> DbPsiFac

我正在开发一个Intellij(所有产品:phpStorm、Rider、Idea等)插件,从数据源(数据库工具窗口)生成代码

我得到了如下所需的数据:

// Get all data sources
ProjectManager pm = ProjectManager.getInstance();
Project[] projects = pm.getOpenProjects();
Arrays.stream(projects).map(project ->
       DbPsiFacade.getInstance(project).getDataSources())
       .flatMap(Collection::stream).collect(Collectors.toList());
// Get Tables
DasUtil.getTables(source);
// Get columns
DasUtil.getColumns(table);
但是我没有找到任何方法来获取DbRoutine的列表,它似乎代表了存储过程

有人知道怎么得到它吗


谢谢

我终于用了另一种方法:

DbDataSource dataSource = ...;
dataSource.getModel().traverser().forEach(dasObject ->
    {
        if (dasObject instanceof DasTable) {
        }
        else if (dasObject instanceof DasColumn) {
        }
        else if (dasObject instanceof DasIndex) {
        }
        else if (dasObject instanceof DasConstraint) {
        }
        else if (dasObject instanceof DasRoutine) {
        }
    });