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

Reply via email to