Ravi Nori has uploaded a new change for review. Change subject: wip: Add ability to call plsql function with different mappers ......................................................................
wip: Add ability to call plsql function with different mappers Change-Id: I003e2b054db3eb406984fd39b59a346c7fd85492 Signed-off-by: Ravi Nori <rn...@redhat.com> --- M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/SimpleJdbcCallsHandler.java 1 file changed, 15 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/37/25437/1 diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/SimpleJdbcCallsHandler.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/SimpleJdbcCallsHandler.java index 6d9af66..026e2bc 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/SimpleJdbcCallsHandler.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/SimpleJdbcCallsHandler.java @@ -100,7 +100,7 @@ public <T> List<T> executeReadList(final String procedureName, final RowMapper<T> mapper, final MapSqlParameterSource parameterSource) { - Map<String, Object> resultsMap = executeImpl(procedureName, parameterSource, createCallForRead(procedureName, mapper, parameterSource)); + Map<String, Object> resultsMap = executeImpl(procedureName, parameterSource, createCallForRead(procedureName, mapper, parameterSource), mapper); return (List<T>) (resultsMap.get(BaseDAODbFacade.RETURN_VALUE_PARAMETER)); } @@ -131,9 +131,13 @@ }; } - private Map<String, Object> executeImpl(String procedureName, - MapSqlParameterSource paramsSource, CallCreator callCreator) { - SimpleJdbcCall call = getCall(procedureName, callCreator); + private <T> Map<String, Object> executeImpl(String procedureName, + MapSqlParameterSource paramsSource, CallCreator callCreatorr) { + return executeImpl(procedureName, paramsSource, callCreatorr, null); + } + private <T> Map<String, Object> executeImpl(String procedureName, + MapSqlParameterSource paramsSource, CallCreator callCreator, RowMapper<T> mapper) { + SimpleJdbcCall call = getCall(procedureName, callCreator, mapper); return call.execute(paramsSource); } @@ -148,12 +152,18 @@ * calls creator object * @return simple JDBC call object */ - protected SimpleJdbcCall getCall(String procedureName, CallCreator callCreator) { + protected <T> SimpleJdbcCall getCall(String procedureName, CallCreator callCreator) { + return getCall(procedureName, callCreator, null); + } + + protected <T> SimpleJdbcCall getCall(String procedureName, CallCreator callCreator, RowMapper<T> mapper) { SimpleJdbcCall call = callsMap.get(procedureName); if (call == null) { call = callCreator.createCall(); call.compile(); callsMap.putIfAbsent(procedureName, call); + } else if (mapper != null) { + call.returningResultSet(BaseDAODbFacade.RETURN_VALUE_PARAMETER, mapper); } return call; } -- To view, visit http://gerrit.ovirt.org/25437 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I003e2b054db3eb406984fd39b59a346c7fd85492 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ravi Nori <rn...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches