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,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 boolean defaultSQL = UtilString.isNullOrEmpty(SQLName) || SQLName.equalsIgnoreCase("Default"); 268 boolean defaultSQL = UtilString.isNullOrEmpty(SQLName) || SQLName.equalsIgnoreCase("Default");
269 String sql = DataObjectUtil.buildSQL(dataObject, SqlClauseTypeEnum.UPDATE, defaultSQL, SQLName); 269 String sql = DataObjectUtil.buildSQL(dataObject, SqlClauseTypeEnum.UPDATE, defaultSQL, SQLName);
270 if (sql == null) { 270 if (sql == null) {
@@ -284,6 +284,8 @@ public class DataManager { @@ -284,6 +284,8 @@ public class DataManager {
284 this.dataSourceService.commit(connection); 284 this.dataSourceService.commit(connection);
285 285
286 this.updateRelationships(dataObject, map); 286 this.updateRelationships(dataObject, map);
  287 +
  288 + return map;
287 } catch (Exception e) { 289 } catch (Exception e) {
288 this.dataSourceService.rollback(connection); 290 this.dataSourceService.rollback(connection);
289 throw new EsiBusinessException(e); 291 throw new EsiBusinessException(e);
@@ -458,45 +460,21 @@ public class DataManager { @@ -458,45 +460,21 @@ public class DataManager {
458 public Object executeTransaction(SqlClauseTypeEnum SQLType, String SQLName, DataObject dataObject, HashMap<String, Object> map) { 460 public Object executeTransaction(SqlClauseTypeEnum SQLType, String SQLName, DataObject dataObject, HashMap<String, Object> map) {
459 Object result = null; 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 result = map; 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 return result; 478 return result;
501 } 479 }
502 480