This commit is contained in:
温少
2012-03-22 18:55:08 +08:00
parent 5fb4e0bcb0
commit d3a2ac1c68
7 changed files with 39 additions and 4 deletions
@@ -1,5 +1,6 @@
package com.alibaba.druid.sql.dialect.mysql.visitor;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.mapping.spi.ExportParameterVisitorUtils;
@@ -16,6 +17,10 @@ import com.alibaba.druid.sql.visitor.ExportParameterVisitor;
public class MySqlExportParameterVisitor extends MySqlASTVisitorAdapter implements ExportParameterVisitor {
private final List<Object> parameters;
public MySqlExportParameterVisitor() {
this(new ArrayList<Object>());
}
public MySqlExportParameterVisitor(List<Object> parameters){
this.parameters = parameters;
@@ -1,5 +1,6 @@
package com.alibaba.druid.sql.dialect.oracle.visitor;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.mapping.spi.ExportParameterVisitorUtils;
@@ -16,6 +17,10 @@ public class OracleExportParameterVisitor extends OracleASTVIsitorAdapter implem
private final List<Object> parameters;
public OracleExportParameterVisitor() {
this(new ArrayList<Object>());
}
public OracleExportParameterVisitor(List<Object> parameters){
this.parameters = parameters;
}
@@ -1,5 +1,6 @@
package com.alibaba.druid.sql.dialect.sqlserver.visitor;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.mapping.spi.ExportParameterVisitorUtils;
@@ -15,6 +16,10 @@ import com.alibaba.druid.sql.visitor.ExportParameterVisitor;
public class MSSQLServerExportParameterVisitor extends SQLServerASTVisitorAdapter implements ExportParameterVisitor {
private final List<Object> parameters;
public MSSQLServerExportParameterVisitor() {
this(new ArrayList<Object>());
}
public MSSQLServerExportParameterVisitor(List<Object> parameters){
this.parameters = parameters;
@@ -13,6 +13,7 @@ import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.parser.ParserException;
import com.alibaba.druid.sql.parser.SQLStatementParser;
import com.alibaba.druid.sql.parser.Token;
import com.alibaba.druid.sql.visitor.ExportParameterVisitor;
import com.alibaba.druid.wall.violation.IllegalSQLObjectViolation;
import com.alibaba.druid.wall.violation.SyntaxErrorViolation;
@@ -95,6 +96,8 @@ public abstract class WallProvider {
public abstract SQLStatementParser createParser(String sql);
public abstract WallVisitor createWallVisitor();
public abstract ExportParameterVisitor createExportParameterVisitor();
public boolean checkValid(String sql) {
return check(sql).size() == 0;
@@ -1,7 +1,9 @@
package com.alibaba.druid.wall.spi;
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlExportParameterVisitor;
import com.alibaba.druid.sql.parser.SQLStatementParser;
import com.alibaba.druid.sql.visitor.ExportParameterVisitor;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallProvider;
import com.alibaba.druid.wall.WallVisitor;
@@ -28,4 +30,9 @@ public class MySqlWallProvider extends WallProvider {
return new MySqlWallVisitor(config);
}
@Override
public ExportParameterVisitor createExportParameterVisitor() {
return new MySqlExportParameterVisitor();
}
}
@@ -1,7 +1,9 @@
package com.alibaba.druid.wall.spi;
import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleExportParameterVisitor;
import com.alibaba.druid.sql.parser.SQLStatementParser;
import com.alibaba.druid.sql.visitor.ExportParameterVisitor;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallProvider;
import com.alibaba.druid.wall.WallVisitor;
@@ -28,4 +30,8 @@ public class OracleWallProvider extends WallProvider {
return new OracleWallVisitor(config);
}
@Override
public ExportParameterVisitor createExportParameterVisitor() {
return new OracleExportParameterVisitor();
}
}
@@ -1,14 +1,16 @@
package com.alibaba.druid.wall.spi;
import com.alibaba.druid.sql.dialect.sqlserver.parser.SQLServerStatementParser;
import com.alibaba.druid.sql.dialect.sqlserver.visitor.MSSQLServerExportParameterVisitor;
import com.alibaba.druid.sql.parser.SQLStatementParser;
import com.alibaba.druid.sql.visitor.ExportParameterVisitor;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallProvider;
import com.alibaba.druid.wall.WallVisitor;
/**
* SQLServerProvider
*
*
* @author RaymondXiu
* @version 1.0, 2012-3-17
* @see
@@ -20,11 +22,10 @@ public class SQLServerProvider extends WallProvider {
/**
* @param config
*/
public SQLServerProvider() {
public SQLServerProvider(){
this(new WallConfig(DEFAULT_CONFIG_DIR));
}
public SQLServerProvider(WallConfig config){
super(config);
}
@@ -38,6 +39,9 @@ public class SQLServerProvider extends WallProvider {
public WallVisitor createWallVisitor() {
return new SQLServerWallVisitor(config);
}
@Override
public ExportParameterVisitor createExportParameterVisitor() {
return new MSSQLServerExportParameterVisitor();
}
}