From 52baf6c19572fe54d77ef14387f0e6cd9f8f1455 Mon Sep 17 00:00:00 2001 From: huangyangjun Date: Tue, 13 Nov 2012 23:06:02 +0800 Subject: [PATCH 1/3] add some ignores for Intellij IDEA --- .gitignore | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index eaf774122c..ec609c9ea6 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,11 @@ /.project /.classpath /1 -/derby.log \ No newline at end of file +/derby.log + +# IntelliJ Idea +.idea/ +out/ +*.ipr +*.iws +*.iml \ No newline at end of file From 808e375c2ff088e7794fdaf2ed2ca39aadac4697 Mon Sep 17 00:00:00 2001 From: huangyangjun Date: Tue, 13 Nov 2012 23:15:04 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9postVisit=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E5=A2=9E=E5=8A=A0isPrettyFormat=E5=88=A4?= =?UTF-8?q?=E6=96=AD;=20=E4=BF=AE=E6=94=B9visit(OracleSelectHierachicalQue?= =?UTF-8?q?ryClause=20x)=E6=96=B9=E6=B3=95=EF=BC=8C=E6=9B=BF=E6=8D=A2NOCYC?= =?UTF-8?q?LE=E5=92=8CPRIOR=E7=9A=84=E8=BE=93=E5=87=BA=E9=A1=BA=E5=BA=8F?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oracle/visitor/OracleOutputVisitor.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java index fe2c6bbafd..9a09c1bf88 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java @@ -192,10 +192,12 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS return; } - if (x.getParent() != null) { - print(";"); - } else { - println(";"); + if(isPrettyFormat()) { + if (x.getParent() != null) { + print(";"); + } else { + println(";"); + } } } } @@ -445,14 +447,14 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS print("CONNECT BY "); - if (x.isPrior()) { - print("PRIOR "); - } - if (x.isNoCycle()) { print("NOCYCLE "); } + if (x.isPrior()) { + print("PRIOR "); + } + x.getConnectBy().accept(this); return false; From 369d01dd8ef5596893b99ea36b5ac7fd22d9b935 Mon Sep 17 00:00:00 2001 From: huangyangjun Date: Tue, 13 Nov 2012 23:21:16 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9loadConfig=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E5=A2=9E=E5=8A=A0=E4=BA=86file://C:\..?= =?UTF-8?q?=E5=BD=A2=E5=BC=8F=E6=9C=AC=E5=9C=B0=E6=96=87=E4=BB=B6=E7=9A=84?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=8C=E4=BB=A5=E5=8F=8Aclasspath=EF=BC=9A?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E7=9A=84xml=E5=90=8E=E7=BC=80=E7=9A=84?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../druid/filter/config/ConfigFilter.java | 40 ++++++++++++++----- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/alibaba/druid/filter/config/ConfigFilter.java b/src/main/java/com/alibaba/druid/filter/config/ConfigFilter.java index c07216692e..6f54d09769 100644 --- a/src/main/java/com/alibaba/druid/filter/config/ConfigFilter.java +++ b/src/main/java/com/alibaba/druid/filter/config/ConfigFilter.java @@ -17,8 +17,10 @@ package com.alibaba.druid.filter.config; import java.io.File; import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.InputStream; import java.net.URL; +import java.net.UnknownHostException; import java.security.PublicKey; import java.sql.SQLException; import java.util.Properties; @@ -231,22 +233,29 @@ public class ConfigFilter extends FilterAdapter { InputStream inStream = null; try { boolean xml = false; - if (filePath.startsWith("http://") || filePath.startsWith("https://") || filePath.startsWith("file://")) { + if (filePath.startsWith("http://") || filePath.startsWith("https://") || filePath.startsWith("file://")) { URL url = new URL(filePath); - inStream = url.openStream(); + try { + inStream = url.openStream(); + xml = url.getPath().endsWith(".xml"); + } catch (UnknownHostException e) { + // 处理本地的文件,格式:file://C:\Users\UserName\AppData\Local\Temp\MyTest6192238555052741793919301884303 + if(url.getHost().length() == 1 && filePath.startsWith("file://")) { + filePath = filePath.substring("file://".length()); + inStream = getFileAsStream(filePath); + xml = filePath.endsWith(".xml"); + } else { + throw new UnknownHostException(e.getMessage()); + } + } - xml = url.getPath().endsWith(".xml"); } else if (filePath.startsWith("classpath:")) { String resourcePath = filePath.substring("classpath:".length()); inStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath); + // 在classpath下应该也可以配置xml文件吧? + xml = resourcePath.endsWith(".xml"); } else { - File file = new File(filePath); - if (file.exists()) { - inStream = new FileInputStream(file); - } else { - inStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(filePath); - } - + inStream = getFileAsStream(filePath); xml = filePath.endsWith(".xml"); } @@ -269,4 +278,15 @@ public class ConfigFilter extends FilterAdapter { JdbcUtils.close(inStream); } } + + private InputStream getFileAsStream(String filePath) throws FileNotFoundException { + InputStream inStream = null; + File file = new File(filePath); + if (file.exists()) { + inStream = new FileInputStream(file); + } else { + inStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(filePath); + } + return inStream; + } }