Commit f4e62df9a8483d6b9b76cd4bdb894a48265a64cc
1 parent
d325cd69
Exists in
master
Melhoria nos métodos DataManager
Showing
1 changed file
with
15 additions
and
37 deletions
Show diff stats
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 |