diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteSql.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteSql.java index f03ff6b..6ceac94 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteSql.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteSql.java @@ -17,23 +17,32 @@ import br.com.centralit.esi.api.enumerated.SqlClauseTypeEnum; import br.com.centralit.esi.api.runtime.RuntimeEnvironment; import br.com.centralit.esi.api.util.ConvertUtilsESI; import br.com.centralit.esi.exception.EsiBusinessException; +import br.com.centralit.framework.util.UtilString; public class ExecuteSql { public static void execute(RuntimeEnvironment runtimeEnvironment) { + String beanName = (String) runtimeEnvironment.getObject("NAMEBEANSUBST"); + Object beanObj = null; + if (!UtilString.isNullOrEmpty(beanName)){ + beanObj = (Object) runtimeEnvironment.getObject(beanName); + } + + String sql = null; + if (beanObj != null) { + sql = (String) runtimeEnvironment.getObjectNotParsed("SQLCONTENT"); + }else{ + sql = (String) runtimeEnvironment.getObject("SQLCONTENT"); + } + String connName = (String) runtimeEnvironment.getObject("CONNECTIONNAME"); - String sql = (String) runtimeEnvironment.getObject("SQLCONTENT"); String sqlType = (String) runtimeEnvironment.getObject("SQLTYPE"); String nameResultSql = (String) runtimeEnvironment.getObject("NAMERESULTSQL"); Object saida = null; + if (connName != null) { Connection connection = (Connection) runtimeEnvironment.getObject(connName); if (connection != null) { - String nameBeanSubt = (String) runtimeEnvironment.getObject("NAMEBEANSUBST"); - Object beanObj = null; - if (nameBeanSubt != null && !nameBeanSubt.trim().equalsIgnoreCase("")){ - beanObj = (Object) runtimeEnvironment.getObject(nameBeanSubt); - } HashMap map = ConvertUtilsESI.convertToMap(beanObj); diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/map/MapObjects.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/map/MapObjects.java index 6c51989..398059c 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/map/MapObjects.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/map/MapObjects.java @@ -64,5 +64,9 @@ public class MapObjects extends HashMap { else return obj; } + + public Object getNotParsed(String key) { + return super.get(key); + } } diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/runtime/RuntimeEnvironment.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/runtime/RuntimeEnvironment.java index 9925f03..fbab63d 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/runtime/RuntimeEnvironment.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/runtime/RuntimeEnvironment.java @@ -95,7 +95,7 @@ public interface RuntimeEnvironment { public boolean hasObject(String name); /** - * Retorna o objeto com o nome informado + * Retorna o objeto com o nome informado já parseado * @param name * @return */ @@ -199,4 +199,11 @@ public interface RuntimeEnvironment { */ public void addObjects(MapObjects buildEnvironmentObjects); + /** + * Retorna o objeto com o nome informado sem parse + * @param name + * @return + */ + public Object getObjectNotParsed(String name); + } diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/runtime/RuntimeEnvironmentImpl.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/runtime/RuntimeEnvironmentImpl.java index daf333f..b384850 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/runtime/RuntimeEnvironmentImpl.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/runtime/RuntimeEnvironmentImpl.java @@ -346,6 +346,11 @@ public class RuntimeEnvironmentImpl implements RuntimeEnvironment { } @Override + public Object getObjectNotParsed(String name) { + return this.getObjects().getNotParsed(name); + } + + @Override public String parseString(String str) { return this.getObjects().parseString(str); } -- libgit2 0.21.2