/usr/lib/jvm/java-8-openjdk-amd64/bin/java -javaagent:/usr/share/intellij-idea-community/lib/idea_rt.jar=38505:/usr/share/intellij-idea-community/bin -Dfile.encoding=UTF-8 -classpath /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/cldrdata.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/icedtea-sound.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/jaccess.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/java-atk-wrapper.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/nashorn.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunec.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunjce_provider.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/management-agent.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar:/home/hzy/IdeaProjects/druidsqlastgui/target/classes:/home/hzy/.m2/repository/com/alibaba/druid/1.1.21/druid-1.1.21.jar cn.snoopyhzy.Window
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.alibaba.druid.sql.visitor.SQLASTOutputVisitor cannot be cast to com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor
at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectTableReference.accept0(OracleSelectTableReference.java:76)
at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printTableSource(SQLASTOutputVisitor.java:1003)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1973)
at com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock.accept0(SQLSelectQueryBlock.java:623)
at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectQueryBlock.accept0(OracleSelectQueryBlock.java:94)
at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:3043)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printQuery(SQLASTOutputVisitor.java:1012)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1917)
at com.alibaba.druid.sql.ast.statement.SQLSelect.accept0(SQLSelect.java:114)
at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40)
at com.alibaba.druid.sql.ast.statement.SQLSelect.output(SQLSelect.java:206)
at com.alibaba.druid.sql.ast.SQLObjectImpl.toString(SQLObjectImpl.java:71)
at com.alibaba.druid.sql.ast.statement.SQLSelect.toString(SQLSelect.java:231)
at cn.snoopyhzy.Window$TreeObject.toString(Window.java:268)
at javax.swing.tree.DefaultMutableTreeNode.toString(DefaultMutableTreeNode.java:1244)
at javax.swing.JTree.convertValueToText(JTree.java:1603)
at javax.swing.tree.DefaultTreeCellRenderer.getTreeCellRendererComponent(DefaultTreeCellRenderer.java:428)
at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2807)
at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1360)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1496)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1288)
at javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(VariableHeightLayoutCache.java:984)
at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:182)
at javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:1696)
at javax.swing.plaf.basic.BasicTreeUI$Handler.treeExpanded(BasicTreeUI.java:3805)
at javax.swing.JTree.fireTreeExpanded(JTree.java:2771)
at javax.swing.JTree.setExpandedState(JTree.java:3636)
at javax.swing.JTree.expandPath(JTree.java:2219)
at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(BasicTreeUI.java:2286)
at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(BasicTreeUI.java:2273)
at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(BasicTreeUI.java:2231)
at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3600)
at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3548)
at java.awt.Component.processMouseEvent(Component.java:6536)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.alibaba.druid.sql.visitor.SQLASTOutputVisitor cannot be cast to com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor
at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectTableReference.accept0(OracleSelectTableReference.java:76)
at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printTableSource(SQLASTOutputVisitor.java:1003)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1973)
at com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock.accept0(SQLSelectQueryBlock.java:623)
at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectQueryBlock.accept0(OracleSelectQueryBlock.java:94)
at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:3043)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printQuery(SQLASTOutputVisitor.java:1012)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1917)
at com.alibaba.druid.sql.ast.statement.SQLSelect.accept0(SQLSelect.java:114)
at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40)
at com.alibaba.druid.sql.ast.statement.SQLSelect.output(SQLSelect.java:206)
at com.alibaba.druid.sql.ast.SQLObjectImpl.toString(SQLObjectImpl.java:71)
at com.alibaba.druid.sql.ast.statement.SQLSelect.toString(SQLSelect.java:231)
at cn.snoopyhzy.Window$TreeObject.toString(Window.java:268)
at javax.swing.tree.DefaultMutableTreeNode.toString(DefaultMutableTreeNode.java:1244)
at javax.swing.JTree.convertValueToText(JTree.java:1603)
at javax.swing.tree.DefaultTreeCellRenderer.getTreeCellRendererComponent(DefaultTreeCellRenderer.java:428)
at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2807)
at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1360)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight(VariableHeightLayoutCache.java:1168)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(VariableHeightLayoutCache.java:1583)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(VariableHeightLayoutCache.java:1295)
at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:188)
at javax.swing.plaf.basic.BasicTreeUI$Handler.treeCollapsed(BasicTreeUI.java:3815)
at javax.swing.JTree.fireTreeCollapsed(JTree.java:2802)
at javax.swing.JTree.setExpandedState(JTree.java:3612)
at javax.swing.JTree.collapsePath(JTree.java:2244)
at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(BasicTreeUI.java:2297)
at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(BasicTreeUI.java:2273)
at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(BasicTreeUI.java:2231)
at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3600)
at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3548)
at java.awt.Component.processMouseEvent(Component.java:6536)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.alibaba.druid.sql.visitor.SQLASTOutputVisitor cannot be cast to com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor
at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectTableReference.accept0(OracleSelectTableReference.java:76)
at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printTableSource(SQLASTOutputVisitor.java:1003)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1973)
at com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock.accept0(SQLSelectQueryBlock.java:623)
at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectQueryBlock.accept0(OracleSelectQueryBlock.java:94)
at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:3043)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printQuery(SQLASTOutputVisitor.java:1012)
at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1917)
at com.alibaba.druid.sql.ast.statement.SQLSelect.accept0(SQLSelect.java:114)
at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40)
at com.alibaba.druid.sql.ast.statement.SQLSelect.output(SQLSelect.java:206)
at com.alibaba.druid.sql.ast.SQLObjectImpl.toString(SQLObjectImpl.java:71)
at com.alibaba.druid.sql.ast.statement.SQLSelect.toString(SQLSelect.java:231)
at cn.snoopyhzy.Window$TreeObject.toString(Window.java:268)
at javax.swing.tree.DefaultMutableTreeNode.toString(DefaultMutableTreeNode.java:1244)
at javax.swing.JTree.convertValueToText(JTree.java:1603)
at javax.swing.tree.DefaultTreeCellRenderer.getTreeCellRendererComponent(DefaultTreeCellRenderer.java:428)
at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2807)
at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1360)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getXOrigin(VariableHeightLayoutCache.java:1143)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getNodeBounds(VariableHeightLayoutCache.java:1130)
at javax.swing.tree.VariableHeightLayoutCache.getBounds(VariableHeightLayoutCache.java:220)
at javax.swing.plaf.basic.BasicTreeUI.getPathBounds(BasicTreeUI.java:529)
at javax.swing.plaf.basic.BasicTreeUI.getPathBounds(BasicTreeUI.java:522)
at javax.swing.plaf.basic.BasicTreeUI.paintVerticalPartOfLeg(BasicTreeUI.java:1428)
at javax.swing.plaf.metal.MetalTreeUI.paintVerticalPartOfLeg(MetalTreeUI.java:211)
at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1203)
at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTreeUI.java:169)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
问题语句
select from (select from dual union all select * from dual)
仅在oracle出现
问题分析
应该是在OracleSelectTableReference.java:76,进行了一个强制类型转换到 OracleASTVisitor,而SQLASTOutputVisitor没有实现OracleASTVisitor,SQLASTOutputVisitor感觉是用来做toString输出或者做SQL语句转化的。。。好像没办法了不知道为啥要强制转换成OracleASTVisitor
完整堆栈
/usr/lib/jvm/java-8-openjdk-amd64/bin/java -javaagent:/usr/share/intellij-idea-community/lib/idea_rt.jar=38505:/usr/share/intellij-idea-community/bin -Dfile.encoding=UTF-8 -classpath /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/cldrdata.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/icedtea-sound.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/jaccess.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/java-atk-wrapper.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/nashorn.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunec.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunjce_provider.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/management-agent.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar:/home/hzy/IdeaProjects/druidsqlastgui/target/classes:/home/hzy/.m2/repository/com/alibaba/druid/1.1.21/druid-1.1.21.jar cn.snoopyhzy.Window Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.alibaba.druid.sql.visitor.SQLASTOutputVisitor cannot be cast to com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectTableReference.accept0(OracleSelectTableReference.java:76) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printTableSource(SQLASTOutputVisitor.java:1003) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1973) at com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock.accept0(SQLSelectQueryBlock.java:623) at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectQueryBlock.accept0(OracleSelectQueryBlock.java:94) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:3043) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printQuery(SQLASTOutputVisitor.java:1012) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1917) at com.alibaba.druid.sql.ast.statement.SQLSelect.accept0(SQLSelect.java:114) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40) at com.alibaba.druid.sql.ast.statement.SQLSelect.output(SQLSelect.java:206) at com.alibaba.druid.sql.ast.SQLObjectImpl.toString(SQLObjectImpl.java:71) at com.alibaba.druid.sql.ast.statement.SQLSelect.toString(SQLSelect.java:231) at cn.snoopyhzy.Window$TreeObject.toString(Window.java:268) at javax.swing.tree.DefaultMutableTreeNode.toString(DefaultMutableTreeNode.java:1244) at javax.swing.JTree.convertValueToText(JTree.java:1603) at javax.swing.tree.DefaultTreeCellRenderer.getTreeCellRendererComponent(DefaultTreeCellRenderer.java:428) at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2807) at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1360) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1496) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1288) at javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(VariableHeightLayoutCache.java:984) at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:182) at javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:1696) at javax.swing.plaf.basic.BasicTreeUI$Handler.treeExpanded(BasicTreeUI.java:3805) at javax.swing.JTree.fireTreeExpanded(JTree.java:2771) at javax.swing.JTree.setExpandedState(JTree.java:3636) at javax.swing.JTree.expandPath(JTree.java:2219) at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(BasicTreeUI.java:2286) at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(BasicTreeUI.java:2273) at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(BasicTreeUI.java:2231) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3600) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3548) at java.awt.Component.processMouseEvent(Component.java:6536) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6304) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:733) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.alibaba.druid.sql.visitor.SQLASTOutputVisitor cannot be cast to com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectTableReference.accept0(OracleSelectTableReference.java:76) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printTableSource(SQLASTOutputVisitor.java:1003) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1973) at com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock.accept0(SQLSelectQueryBlock.java:623) at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectQueryBlock.accept0(OracleSelectQueryBlock.java:94) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:3043) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printQuery(SQLASTOutputVisitor.java:1012) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1917) at com.alibaba.druid.sql.ast.statement.SQLSelect.accept0(SQLSelect.java:114) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40) at com.alibaba.druid.sql.ast.statement.SQLSelect.output(SQLSelect.java:206) at com.alibaba.druid.sql.ast.SQLObjectImpl.toString(SQLObjectImpl.java:71) at com.alibaba.druid.sql.ast.statement.SQLSelect.toString(SQLSelect.java:231) at cn.snoopyhzy.Window$TreeObject.toString(Window.java:268) at javax.swing.tree.DefaultMutableTreeNode.toString(DefaultMutableTreeNode.java:1244) at javax.swing.JTree.convertValueToText(JTree.java:1603) at javax.swing.tree.DefaultTreeCellRenderer.getTreeCellRendererComponent(DefaultTreeCellRenderer.java:428) at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2807) at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1360) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight(VariableHeightLayoutCache.java:1168) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(VariableHeightLayoutCache.java:1583) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(VariableHeightLayoutCache.java:1295) at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:188) at javax.swing.plaf.basic.BasicTreeUI$Handler.treeCollapsed(BasicTreeUI.java:3815) at javax.swing.JTree.fireTreeCollapsed(JTree.java:2802) at javax.swing.JTree.setExpandedState(JTree.java:3612) at javax.swing.JTree.collapsePath(JTree.java:2244) at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(BasicTreeUI.java:2297) at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(BasicTreeUI.java:2273) at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(BasicTreeUI.java:2231) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3600) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3548) at java.awt.Component.processMouseEvent(Component.java:6536) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6304) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:733) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.alibaba.druid.sql.visitor.SQLASTOutputVisitor cannot be cast to com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectTableReference.accept0(OracleSelectTableReference.java:76) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printTableSource(SQLASTOutputVisitor.java:1003) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1973) at com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock.accept0(SQLSelectQueryBlock.java:623) at com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectQueryBlock.accept0(OracleSelectQueryBlock.java:94) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:3043) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.printQuery(SQLASTOutputVisitor.java:1012) at com.alibaba.druid.sql.visitor.SQLASTOutputVisitor.visit(SQLASTOutputVisitor.java:1917) at com.alibaba.druid.sql.ast.statement.SQLSelect.accept0(SQLSelect.java:114) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:40) at com.alibaba.druid.sql.ast.statement.SQLSelect.output(SQLSelect.java:206) at com.alibaba.druid.sql.ast.SQLObjectImpl.toString(SQLObjectImpl.java:71) at com.alibaba.druid.sql.ast.statement.SQLSelect.toString(SQLSelect.java:231) at cn.snoopyhzy.Window$TreeObject.toString(Window.java:268) at javax.swing.tree.DefaultMutableTreeNode.toString(DefaultMutableTreeNode.java:1244) at javax.swing.JTree.convertValueToText(JTree.java:1603) at javax.swing.tree.DefaultTreeCellRenderer.getTreeCellRendererComponent(DefaultTreeCellRenderer.java:428) at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2807) at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1360) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getXOrigin(VariableHeightLayoutCache.java:1143) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getNodeBounds(VariableHeightLayoutCache.java:1130) at javax.swing.tree.VariableHeightLayoutCache.getBounds(VariableHeightLayoutCache.java:220) at javax.swing.plaf.basic.BasicTreeUI.getPathBounds(BasicTreeUI.java:529) at javax.swing.plaf.basic.BasicTreeUI.getPathBounds(BasicTreeUI.java:522) at javax.swing.plaf.basic.BasicTreeUI.paintVerticalPartOfLeg(BasicTreeUI.java:1428) at javax.swing.plaf.metal.MetalTreeUI.paintVerticalPartOfLeg(MetalTreeUI.java:211) at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1203) at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTreeUI.java:169) at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) at javax.swing.JComponent.paintComponent(JComponent.java:780) at javax.swing.JComponent.paint(JComponent.java:1056) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290) at javax.swing.RepaintManager.paint(RepaintManager.java:1272) at javax.swing.JComponent._paintImmediately(JComponent.java:5158) at javax.swing.JComponent.paintImmediately(JComponent.java:4969) at javax.swing.RepaintManager$4.run(RepaintManager.java:831) at javax.swing.RepaintManager$4.run(RepaintManager.java:814) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738) at javax.swing.RepaintManager.access$1200(RepaintManager.java:64) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)