Commit f4e62df9a8483d6b9b76cd4bdb894a48265a64cc

Authored by Carlos Alberto
1 parent d325cd69
Exists in master

Melhoria nos métodos DataManager

cit-esi-api/src/main/java/br/com/centralit/esi/api/data/service/impl/DataManager.java
... ... @@ -264,7 +264,7 @@ public class DataManager {
264 264 }
265 265 }
266 266  
267   - public void executeUpdate(DataObject dataObject, String SQLName, HashMap<String, Object> map) {
  267 + public HashMap<String, Object> executeUpdate(DataObject dataObject, String SQLName, HashMap<String, Object> map) {
268 268 boolean defaultSQL = UtilString.isNullOrEmpty(SQLName) || SQLName.equalsIgnoreCase("Default");
269 269 String sql = DataObjectUtil.buildSQL(dataObject, SqlClauseTypeEnum.UPDATE, defaultSQL, SQLName);
270 270 if (sql == null) {
... ... @@ -284,6 +284,8 @@ public class DataManager {
284 284 this.dataSourceService.commit(connection);
285 285  
286 286 this.updateRelationships(dataObject, map);
  287 +
  288 + return map;
287 289 } catch (Exception e) {
288 290 this.dataSourceService.rollback(connection);
289 291 throw new EsiBusinessException(e);
... ... @@ -458,45 +460,21 @@ public class DataManager {
458 460 public Object executeTransaction(SqlClauseTypeEnum SQLType, String SQLName, DataObject dataObject, HashMap<String, Object> map) {
459 461 Object result = null;
460 462  
461   - boolean defaultSQL = UtilString.isNullOrEmpty(SQLName) || SQLName.equalsIgnoreCase("Default");
462   - String sql = DataObjectUtil.buildSQL(dataObject, SQLType, defaultSQL, SQLName);
463   - if (sql == null) {
464   - throw new EsiExecutionException("SQL não encontrado");
465   - }
466   - Connection connection = this.dataSourceService.connect(dataObject.getDataSource());
467   -
468   - try{
469   - if (SQLType.equals(SqlClauseTypeEnum.SELECT)) {
470   - result = DataObjectUtil.executeQuery(dataObject, connection, sql, map);
471   - }else {
472   - if (SQLType.equals(SqlClauseTypeEnum.INSERT) && dataObject.getInsertRule() != null) {
473   - map = this.executeBusinessRule(connection, dataObject, map, dataObject.getInsertRule());
474   - }else if (SQLType.equals(SqlClauseTypeEnum.UPDATE) && dataObject.getUpdateRule() != null) {
475   - map = this.executeBusinessRule(connection, dataObject, map, dataObject.getUpdateRule());
476   - }else if (SQLType.equals(SqlClauseTypeEnum.DELETE) && dataObject.getDeleteRule() != null) {
477   - map = this.executeBusinessRule(connection, dataObject, map, dataObject.getDeleteRule());
478   - }
479   -
480   - DataObjectUtil.executeSQL(dataObject, connection, sql, map);
481   - if (SQLType.equals(SqlClauseTypeEnum.INSERT)) {
482   - DataObjectUtil.verifyIdentity(dataObject, connection, map);
483   - }
484   - this.dataSourceService.commit(connection);
485   -
486   - if (!SQLType.equals(SqlClauseTypeEnum.DELETE)) {
487   - this.updateRelationships(dataObject, map);
488   - }
489   -
  463 + switch (SQLType) {
  464 + case SELECT:
  465 + result = this.executeQuery(dataObject, SQLName, map);
  466 + break;
  467 + case UPDATE:
  468 + result = this.executeUpdate(dataObject, SQLName, map);
  469 + break;
  470 + case DELETE:
  471 + this.executeDelete(dataObject, SQLName, map);
490 472 result = map;
491   - }
492   - } catch (Exception e) {
493   - this.dataSourceService.rollback(connection);
494   - throw new EsiBusinessException(e);
495   - }finally{
496   - this.dataSourceService.close(connection);
  473 + break;
  474 + default:
  475 + break;
497 476 }
498 477  
499   -
500 478 return result;
501 479 }
502 480  
... ...