diff --git a/src/main/java/com/alibaba/druid/mapping/spi/MSSQLServerMappingVisitor.java b/src/main/java/com/alibaba/druid/mapping/spi/MSSQLServerMappingVisitor.java index 163e41b61d..967f5923dd 100644 --- a/src/main/java/com/alibaba/druid/mapping/spi/MSSQLServerMappingVisitor.java +++ b/src/main/java/com/alibaba/druid/mapping/spi/MSSQLServerMappingVisitor.java @@ -77,11 +77,6 @@ public class MSSQLServerMappingVisitor extends SQLServerASTVisitorAdapter implem return engine.resovleColumnName(entity, property, context.getParameters()); } - @Override - public Entity getFirstEntity() { - return engine.getFirstEntity(); - } - public Entity getEntity(String name) { return MappingVisitorUtils.getEntity(this, name); } diff --git a/src/main/java/com/alibaba/druid/mapping/spi/MappingVisitor.java b/src/main/java/com/alibaba/druid/mapping/spi/MappingVisitor.java index d567385238..d931be84b0 100644 --- a/src/main/java/com/alibaba/druid/mapping/spi/MappingVisitor.java +++ b/src/main/java/com/alibaba/druid/mapping/spi/MappingVisitor.java @@ -18,8 +18,6 @@ public interface MappingVisitor extends SQLASTVisitor { MappingContext getContext(); - Entity getFirstEntity(); - Entity getEntity(String name); Map getEntities(); diff --git a/src/main/java/com/alibaba/druid/mapping/spi/MappingVisitorUtils.java b/src/main/java/com/alibaba/druid/mapping/spi/MappingVisitorUtils.java index f2ff29109e..603066d36c 100644 --- a/src/main/java/com/alibaba/druid/mapping/spi/MappingVisitorUtils.java +++ b/src/main/java/com/alibaba/druid/mapping/spi/MappingVisitorUtils.java @@ -26,6 +26,8 @@ import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement; public class MappingVisitorUtils { + private static final String MAPPING_VAR_INDEX = "mapping.varIndex"; + private static final String MAPPING_VALUE = "mapping.value"; private static final String MAPPING_PROPERTY = "mapping.property"; private static final String MAPPING_ENTITY = "mapping.entity"; @@ -43,7 +45,7 @@ public class MappingVisitorUtils { } if (entity == null) { - throw new DruidMappingException("entity not foudn : " + entityName); + throw new DruidMappingException("entity not found : " + entityName); } if (x.getParent() instanceof SQLSelectQueryBlock) { @@ -203,7 +205,7 @@ public class MappingVisitorUtils { Entity entity = (Entity) x.getLeft().getAttribute(MAPPING_ENTITY); Property property = (Property) x.getLeft().getAttribute(MAPPING_PROPERTY); - Object value = x.getRight().getAttribute("mapping.value"); + Object value = x.getRight().getAttribute(MAPPING_VALUE); visitor.getPropertyValues().add(new PropertyValue(entity, property, value)); @@ -216,7 +218,7 @@ public class MappingVisitorUtils { Entity entity = (Entity) x.getLeft().getAttribute(MAPPING_ENTITY); Property property = (Property) x.getLeft().getAttribute(MAPPING_PROPERTY); - Object value = x.getRight().getAttribute("mapping.value"); + Object value = x.getRight().getAttribute(MAPPING_VALUE); visitor.getPropertyValues().add(new PropertyValue(entity, property, value)); @@ -229,26 +231,26 @@ public class MappingVisitorUtils { private static boolean isSimpleValue(MappingVisitor visitor, SQLExpr expr) { if (expr instanceof SQLNumericLiteralExpr) { - expr.putAttribute("mapping.value", ((SQLNumericLiteralExpr) expr).getNumber()); + expr.putAttribute(MAPPING_VALUE, ((SQLNumericLiteralExpr) expr).getNumber()); return true; } if (expr instanceof SQLCharExpr) { - expr.putAttribute("mapping.value", ((SQLCharExpr) expr).getText()); + expr.putAttribute(MAPPING_VALUE, ((SQLCharExpr) expr).getText()); return true; } if (expr instanceof SQLVariantRefExpr) { Map attributes = expr.getAttributes(); - Integer varIndex = (Integer) attributes.get("mapping.varIndex"); + Integer varIndex = (Integer) attributes.get(MAPPING_VAR_INDEX); if (varIndex == null) { varIndex = visitor.getAndIncrementVariantIndex(); - expr.putAttribute("mapping.varIndex", varIndex); + expr.putAttribute(MAPPING_VAR_INDEX, varIndex); } if (visitor.getParameters().size() > varIndex) { Object parameter = visitor.getParameters().get(varIndex); - expr.putAttribute("mapping.value", parameter); + expr.putAttribute(MAPPING_VALUE, parameter); } return true; @@ -359,10 +361,10 @@ public class MappingVisitorUtils { public static boolean visit(MappingVisitor visitor, SQLVariantRefExpr x) { Map attributes = x.getAttributes(); - Integer varIndex = (Integer) attributes.get("mapping.varIndex"); + Integer varIndex = (Integer) attributes.get(MAPPING_VAR_INDEX); if (varIndex == null) { varIndex = visitor.getAndIncrementVariantIndex(); - x.putAttribute("mapping.varIndex", varIndex); + x.putAttribute(MAPPING_VAR_INDEX, varIndex); } return false; } @@ -377,7 +379,7 @@ public class MappingVisitorUtils { } if (x.getFrom() == null) { - Entity firstEntity = visitor.getFirstEntity(); + Entity firstEntity = visitor.getEngine().getFirstEntity(); SQLExprTableSource from = new SQLExprTableSource(new SQLIdentifierExpr(firstEntity.getName())); from.putAttribute(MAPPING_ENTITY, firstEntity); x.setFrom(from); diff --git a/src/main/java/com/alibaba/druid/mapping/spi/MySqlMappingVisitor.java b/src/main/java/com/alibaba/druid/mapping/spi/MySqlMappingVisitor.java index 398c1e1fff..0cf7d56529 100644 --- a/src/main/java/com/alibaba/druid/mapping/spi/MySqlMappingVisitor.java +++ b/src/main/java/com/alibaba/druid/mapping/spi/MySqlMappingVisitor.java @@ -77,10 +77,6 @@ public class MySqlMappingVisitor extends MySqlASTVisitorAdapter implements Mappi return engine.resovleColumnName(entity, property, context.getParameters()); } - public Entity getFirstEntity() { - return engine.getFirstEntity(); - } - public Entity getEntity(String name) { return MappingVisitorUtils.getEntity(this, name); } diff --git a/src/main/java/com/alibaba/druid/mapping/spi/OracleMappingVisitor.java b/src/main/java/com/alibaba/druid/mapping/spi/OracleMappingVisitor.java index 92c74d5a45..a279ac4942 100644 --- a/src/main/java/com/alibaba/druid/mapping/spi/OracleMappingVisitor.java +++ b/src/main/java/com/alibaba/druid/mapping/spi/OracleMappingVisitor.java @@ -79,10 +79,6 @@ public class OracleMappingVisitor extends OracleASTVisitorAdapter implements Map return engine.resovleColumnName(entity, property, context.getParameters()); } - public Entity getFirstEntity() { - return engine.getFirstEntity(); - } - public Entity getEntity(String name) { return MappingVisitorUtils.getEntity(this, name); }