Ravi Nori has uploaded a new change for review.

Change subject: webadmin: Remove dependency on VdcQuery and Action parameters 
base
......................................................................

webadmin: Remove dependency on VdcQuery and Action parameters base

Remove dependency on VdcQueryParametesBase and VdcActionParametersBase
in the front end code and replace them with VdcParametersMap

Change-Id: I32eede1e6a27bfe4d906be1fe0a3a397a865df4c
Signed-off-by: Ravi Nori <[email protected]>
---
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/Frontend.java
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/GWTRPCCommunicationProvider.java
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/gwtservices/GenericApiGWTService.java
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/GenericApiGWTServiceImpl.java
M 
frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendTest.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendActionAsyncResult.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendMultipleActionAsyncResult.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendMultipleQueryAsyncResult.java
8 files changed, 152 insertions(+), 136 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/82/21482/1

diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/Frontend.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/Frontend.java
index 73b320f..97017ff 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/Frontend.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/Frontend.java
@@ -11,14 +11,14 @@
 import java.util.logging.Logger;
 
 import org.ovirt.engine.core.common.action.LoginUserParameters;
-import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import org.ovirt.engine.core.common.businessentities.DbUser;
 import org.ovirt.engine.core.common.errors.VdcFault;
-import org.ovirt.engine.core.common.queries.VdcQueryParametersBase;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
+import org.ovirt.engine.core.common.utils.CoreVdcParameters;
+import org.ovirt.engine.core.common.utils.VdcParametersMap;
 import org.ovirt.engine.ui.frontend.communication.UserCallback;
 import org.ovirt.engine.ui.frontend.communication.VdcOperation;
 import org.ovirt.engine.ui.frontend.communication.VdcOperationCallback;
@@ -191,8 +191,8 @@
      * @param callback The callback to call when the query completes.
      */
     @Deprecated
-    public static void RunQuery(final VdcQueryType queryType,
-            final VdcQueryParametersBase parameters,
+    public static <T extends VdcParametersMap> void RunQuery(final 
VdcQueryType queryType,
+            final T parameters,
             final AsyncQuery callback) {
         RunQuery(queryType, parameters, callback, false);
     }
@@ -208,8 +208,8 @@
      * @param isPublic Determine if the query is public or not.
      */
     @Deprecated
-    public static void RunQuery(final VdcQueryType queryType,
-            final VdcQueryParametersBase parameters,
+    public static <T extends VdcParametersMap> void RunQuery(final 
VdcQueryType queryType,
+            final T parameters,
             final AsyncQuery callback, final boolean isPublic) {
         getInstance().runQuery(queryType, parameters, callback, isPublic);
     }
@@ -222,16 +222,16 @@
      * @param callback The callback to call when the query completes.
      * @param isPublic Determine if the query is public or not.
      */
-    public void runQuery(final VdcQueryType queryType,
-            final VdcQueryParametersBase parameters,
+    public <T extends VdcParametersMap> void runQuery(final VdcQueryType 
queryType,
+            final T parameters,
             final AsyncQuery callback, final boolean isPublic) {
         initQueryParamsFilter(parameters);
-        final VdcOperation<VdcQueryType, VdcQueryParametersBase> operation =
-                new VdcOperation<VdcQueryType, 
VdcQueryParametersBase>(queryType, parameters, isPublic,
-                new VdcOperationCallback<VdcOperation<VdcQueryType, 
VdcQueryParametersBase>, VdcQueryReturnValue>() {
+        final VdcOperation<VdcQueryType, T> operation =
+                new VdcOperation<VdcQueryType, T>(queryType, parameters, 
isPublic,
+                new VdcOperationCallback<VdcOperation<VdcQueryType, T>, 
VdcQueryReturnValue>() {
 
             @Override
-            public void onSuccess(final VdcOperation<VdcQueryType, 
VdcQueryParametersBase> operation,
+            public void onSuccess(final VdcOperation<VdcQueryType, T> 
operation,
                     final VdcQueryReturnValue result) {
                 try {
                     if (!result.getSucceeded()) {
@@ -262,7 +262,7 @@
             }
 
             @Override
-            public void onFailure(final VdcOperation<VdcQueryType, 
VdcQueryParametersBase> operation,
+            public void onFailure(final VdcOperation<VdcQueryType, T> 
operation,
                     final Throwable caught) {
                 try {
                     if (ignoreFailure(caught)) {
@@ -296,8 +296,8 @@
      * @param callback The callback to when the query completes.
      */
     @Deprecated
-    public static void RunPublicQuery(final VdcQueryType queryType,
-            final VdcQueryParametersBase parameters,
+    public static <T extends VdcParametersMap> void RunPublicQuery(final 
VdcQueryType queryType,
+            final T parameters,
             final AsyncQuery callback) {
         getInstance().runPublicQuery(queryType, parameters, callback);
     }
@@ -308,8 +308,8 @@
      * @param parameters The parameter of the query.
      * @param callback The callback to when the query completes.
      */
-    public void runPublicQuery(final VdcQueryType queryType,
-        final VdcQueryParametersBase parameters,
+    public <T extends VdcParametersMap>  void runPublicQuery(final 
VdcQueryType queryType,
+        final T parameters,
         final AsyncQuery callback) {
         runQuery(queryType, parameters, callback, true);
     }
@@ -322,8 +322,8 @@
      * @param callback The callback to call when the query completes.
      */
     @Deprecated
-    public static void RunMultipleQueries(final List<VdcQueryType> 
queryTypeList,
-            final List<VdcQueryParametersBase> queryParamsList,
+    public static <T extends VdcParametersMap> void RunMultipleQueries(final 
List<VdcQueryType> queryTypeList,
+            final List<T> queryParamsList,
             final IFrontendMultipleQueryAsyncCallback callback) {
         RunMultipleQueries(queryTypeList, queryParamsList, callback, null);
     }
@@ -337,8 +337,8 @@
      * @param context The context to run the queries in.
      */
     @Deprecated
-    public static void RunMultipleQueries(final List<VdcQueryType> 
queryTypeList,
-            final List<VdcQueryParametersBase> queryParamsList,
+    public static <T extends VdcParametersMap> void RunMultipleQueries(final 
List<VdcQueryType> queryTypeList,
+            final List<T> queryParamsList,
             final IFrontendMultipleQueryAsyncCallback callback,
             final String context) {
         getInstance().runMultipleQueries(queryTypeList, queryParamsList, 
callback, context);
@@ -351,16 +351,16 @@
      * @param callback The callback to call when the query completes.
      * @param context The context to run the queries in.
      */
-    public void runMultipleQueries(final List<VdcQueryType> queryTypeList,
-            final List<VdcQueryParametersBase> queryParamsList,
+    public <T extends VdcParametersMap> void runMultipleQueries(final 
List<VdcQueryType> queryTypeList,
+            final List<T> queryParamsList,
             final IFrontendMultipleQueryAsyncCallback callback,
             final String context) {
-        VdcOperationCallbackList<VdcOperation<VdcQueryType, 
VdcQueryParametersBase>,
+        VdcOperationCallbackList<VdcOperation<VdcQueryType, T>,
             List<VdcQueryReturnValue>> multiCallback = new 
VdcOperationCallbackList<VdcOperation<VdcQueryType,
-            VdcQueryParametersBase>, List<VdcQueryReturnValue>>() {
+            T>, List<VdcQueryReturnValue>>() {
 
             @Override
-            public void onSuccess(final List<VdcOperation<VdcQueryType, 
VdcQueryParametersBase>> operationList,
+            public void onSuccess(final List<VdcOperation<VdcQueryType, T>> 
operationList,
                     final List<VdcQueryReturnValue> resultObject) {
                 logger.finer("Succesful returned result from 
runMultipleQueries!"); //$NON-NLS-1$
                 FrontendMultipleQueryAsyncResult f =
@@ -370,7 +370,7 @@
             }
 
             @Override
-            public void onFailure(final List<VdcOperation<VdcQueryType, 
VdcQueryParametersBase>> operationList,
+            public void onFailure(final List<VdcOperation<VdcQueryType, T>> 
operationList,
                     final Throwable caught) {
                 try {
                     if (ignoreFailure(caught)) {
@@ -388,10 +388,10 @@
         };
         List<VdcOperation<?, ?>> operationList = new ArrayList<VdcOperation<?, 
?>>();
         for (int i = 0; i < queryTypeList.size(); i++) {
-            VdcQueryParametersBase parameters = queryParamsList.get(i);
-            parameters.setRefresh(false); // Why do we do this?
+            T parameters = queryParamsList.get(i);
+            parameters.put(CoreVdcParameters.REFRESH, false); // Why do we do 
this?
             initQueryParamsFilter(parameters);
-            operationList.add(new VdcOperation<VdcQueryType, 
VdcQueryParametersBase>(queryTypeList.get(i),
+            operationList.add(new VdcOperation<VdcQueryType, 
T>(queryTypeList.get(i),
                     parameters, multiCallback));
         }
         raiseQueryStartedEvent(queryTypeList, context);
@@ -406,8 +406,8 @@
      * @param callback The callback to call when the action is completed.
      */
     @Deprecated
-    public static void RunAction(final VdcActionType actionType,
-            final VdcActionParametersBase parameters,
+    public static <T extends VdcParametersMap> void RunAction(final 
VdcActionType actionType,
+            final T parameters,
             final IFrontendActionAsyncCallback callback) {
         RunAction(actionType, parameters, callback, null);
     }
@@ -421,8 +421,8 @@
      * @param state The state object.
      */
     @Deprecated
-    public static void RunAction(final VdcActionType actionType,
-            final VdcActionParametersBase parameters,
+    public static <T extends VdcParametersMap> void RunAction(final 
VdcActionType actionType,
+            final T parameters,
             final IFrontendActionAsyncCallback callback,
             final Object state) {
         RunAction(actionType, parameters, callback != null ? callback : 
NULLABLE_ASYNC_CALLBACK, state, true);
@@ -436,7 +436,7 @@
      * @param showErrorDialog Whether to show a pop-up dialog with the error 
or not.
      */
     @Deprecated
-    public static void RunAction(final VdcActionType actionType, final 
VdcActionParametersBase parameters,
+    public static <T extends VdcParametersMap> void RunAction(final 
VdcActionType actionType, final T parameters,
             final boolean showErrorDialog) {
         RunAction(actionType, parameters, Frontend.NULLABLE_ASYNC_CALLBACK, 
null, showErrorDialog);
     }
@@ -448,7 +448,7 @@
      * @param parameters The parameters to the action.
      */
     @Deprecated
-    public static void RunAction(final VdcActionType actionType, final 
VdcActionParametersBase parameters) {
+    public static <T extends VdcParametersMap> void RunAction(final 
VdcActionType actionType, final T parameters) {
         RunAction(actionType, parameters, Frontend.NULLABLE_ASYNC_CALLBACK);
     }
 
@@ -462,8 +462,8 @@
      * @param showErrorDialog Whether to show a pop-up dialog with the error 
or not.
      */
     @Deprecated
-    public static void RunAction(final VdcActionType actionType,
-            final VdcActionParametersBase parameters,
+    public static <T extends VdcParametersMap> void RunAction(final 
VdcActionType actionType,
+            final T parameters,
             final IFrontendActionAsyncCallback callback,
             final Object state,
             final boolean showErrorDialog) {
@@ -478,17 +478,17 @@
      * @param state The state object.
      * @param showErrorDialog Whether to show a pop-up dialog with the error 
or not.
      */
-    public void runAction(final VdcActionType actionType,
-            final VdcActionParametersBase parameters,
+    public <T extends VdcParametersMap> void runAction(final VdcActionType 
actionType,
+            final T parameters,
             final IFrontendActionAsyncCallback callback,
             final Object state,
             final boolean showErrorDialog) {
-        VdcOperation<VdcActionType, VdcActionParametersBase> operation = new 
VdcOperation<VdcActionType,
-                VdcActionParametersBase>(actionType, parameters, new 
VdcOperationCallback<VdcOperation<VdcActionType,
-                        VdcActionParametersBase>, VdcReturnValueBase>() {
+        VdcOperation<VdcActionType, T> operation = new 
VdcOperation<VdcActionType,
+                T>(actionType, parameters, new 
VdcOperationCallback<VdcOperation<VdcActionType,
+                        T>, VdcReturnValueBase>() {
 
             @Override
-            public void onSuccess(final VdcOperation<VdcActionType, 
VdcActionParametersBase> operation,
+            public void onSuccess(final VdcOperation<VdcActionType, T> 
operation,
                     final VdcReturnValueBase result) {
                 logger.finer("Frontend: sucessfully executed runAction, 
determining result!"); //$NON-NLS-1$
                 handleActionResult(actionType, parameters, result,
@@ -496,7 +496,7 @@
             }
 
             @Override
-            public void onFailure(final VdcOperation<VdcActionType, 
VdcActionParametersBase> operation,
+            public void onFailure(final VdcOperation<VdcActionType, T> 
operation,
                     final Throwable caught) {
                 if (ignoreFailure(caught)) {
                     return;
@@ -520,8 +520,8 @@
      * @param state A state object.
      */
     @Deprecated
-    public static void RunMultipleAction(final VdcActionType actionType,
-            final ArrayList<VdcActionParametersBase> parameters,
+    public static <T extends VdcParametersMap> void RunMultipleAction(final 
VdcActionType actionType,
+            final ArrayList<T> parameters,
             final IFrontendMultipleActionAsyncCallback callback,
             final Object state) {
         RunMultipleAction(actionType, parameters, false, callback, state);
@@ -533,8 +533,8 @@
      * @param parameters The parameters of the action.
      */
     @Deprecated
-    public static void RunMultipleAction(final VdcActionType actionType,
-            final ArrayList<VdcActionParametersBase> parameters) {
+    public static <T extends VdcParametersMap> void RunMultipleAction(final 
VdcActionType actionType,
+            final ArrayList<T> parameters) {
         RunMultipleAction(actionType, parameters, null, null);
     }
 
@@ -546,8 +546,8 @@
      * @param successCallback The callback to call on success.
      */
     @Deprecated
-    public static void RunMultipleActions(final VdcActionType actionType,
-            final List<VdcActionParametersBase> parameters,
+    public static <T extends VdcParametersMap> void RunMultipleActions(final 
VdcActionType actionType,
+            final List<T> parameters,
             final IFrontendActionAsyncCallback successCallback) {
         RunMultipleActions(actionType, parameters, successCallback, null);
     }
@@ -562,8 +562,8 @@
      * @param state The state.
      */
     @Deprecated
-    public static void RunMultipleAction(final VdcActionType actionType,
-            final ArrayList<VdcActionParametersBase> parameters,
+    public static <T extends VdcParametersMap> void RunMultipleAction(final 
VdcActionType actionType,
+            final ArrayList<T> parameters,
             final boolean isRunOnlyIfAllCanDoPass,
             final IFrontendMultipleActionAsyncCallback callback,
             final Object state) {
@@ -578,16 +578,16 @@
      * @param callback The callback to call when the operation completes.
      * @param state The state.
      */
-    public void runMultipleAction(final VdcActionType actionType,
-            final List<VdcActionParametersBase> parameters,
+    public <T extends VdcParametersMap> void runMultipleAction(final 
VdcActionType actionType,
+            final List<T> parameters,
             final boolean isRunOnlyIfAllCanDoPass,
             final IFrontendMultipleActionAsyncCallback callback,
             final Object state) {
-        VdcOperationCallbackList<VdcOperation<VdcActionType, 
VdcActionParametersBase>, List<VdcReturnValueBase>>
-        multiCallback = new 
VdcOperationCallbackList<VdcOperation<VdcActionType, VdcActionParametersBase>,
+        VdcOperationCallbackList<VdcOperation<VdcActionType, T>, 
List<VdcReturnValueBase>>
+        multiCallback = new 
VdcOperationCallbackList<VdcOperation<VdcActionType, T>,
         List<VdcReturnValueBase>>() {
             @Override
-            public void onSuccess(final List<VdcOperation<VdcActionType, 
VdcActionParametersBase>> operationList,
+            public void onSuccess(final List<VdcOperation<VdcActionType, T>> 
operationList,
                     final List<VdcReturnValueBase> resultObject) {
                 logger.finer("Frontend: successfully executed 
runMultipleAction, determining result!"); //$NON-NLS-1$
 
@@ -611,7 +611,7 @@
             }
 
             @Override
-            public void onFailure(final List<VdcOperation<VdcActionType, 
VdcActionParametersBase>> operation,
+            public void onFailure(final List<VdcOperation<VdcActionType, T>> 
operation,
                     final Throwable caught) {
                 if (ignoreFailure(caught)) {
                     return;
@@ -626,9 +626,9 @@
             }
         };
         List<VdcOperation<?, ?>> operationList = new ArrayList<VdcOperation<?, 
?>>();
-        for (VdcActionParametersBase parameter: parameters) {
-            VdcOperation<VdcActionType, VdcActionParametersBase> operation = 
new VdcOperation<VdcActionType,
-                    VdcActionParametersBase>(actionType, parameter, 
multiCallback);
+        for (T parameter: parameters) {
+            VdcOperation<VdcActionType, T> operation = new 
VdcOperation<VdcActionType,
+                    T>(actionType, parameter, multiCallback);
             operationList.add(operation);
         }
         if (operationList.isEmpty()) {
@@ -661,8 +661,8 @@
      *            the parameters of each action.
      * @param callbacks A list of callbacks.
      */
-    public static void RunMultipleActions(VdcActionType actionType,
-            List<VdcActionParametersBase> parameters,
+    public static <T extends VdcParametersMap> void 
RunMultipleActions(VdcActionType actionType,
+            List<T> parameters,
             List<IFrontendActionAsyncCallback> callbacks) {
         RunMultipleActions(actionType, parameters, callbacks, null);
     }
@@ -680,8 +680,8 @@
      * @param state State object
      */
     @Deprecated
-    public static void RunMultipleActions(final VdcActionType actionType,
-            final List<VdcActionParametersBase> parameters,
+    public static <T extends VdcParametersMap> void RunMultipleActions(final 
VdcActionType actionType,
+            final List<T> parameters,
             final IFrontendActionAsyncCallback successCallback,
             final Object state) {
 
@@ -710,8 +710,8 @@
      * @param state
      *            the state.
      */
-    public static void RunMultipleActions(VdcActionType actionType,
-            List<VdcActionParametersBase> parameters,
+    public static <T extends VdcParametersMap> void 
RunMultipleActions(VdcActionType actionType,
+            List<T> parameters,
             List<IFrontendActionAsyncCallback> callbacks,
             Object state) {
 
@@ -738,8 +738,8 @@
      * @param state The state.
      */
     @Deprecated
-    public static void RunMultipleActions(final List<VdcActionType> 
actionTypes,
-            final List<VdcActionParametersBase> parameters,
+    public static <T extends VdcParametersMap> void RunMultipleActions(final 
List<VdcActionType> actionTypes,
+            final List<T> parameters,
             final List<IFrontendActionAsyncCallback> callbacks,
             final IFrontendActionAsyncCallback failureCallback,
             final Object state) {
@@ -755,8 +755,8 @@
      * @param failureCallback The callback to call in case of failure.
      * @param state The state.
      */
-    public void runMultipleActions(final List<VdcActionType> actionTypes,
-            final List<VdcActionParametersBase> parameters,
+    public <T extends VdcParametersMap> void runMultipleActions(final 
List<VdcActionType> actionTypes,
+            final List<T> parameters,
             final List<IFrontendActionAsyncCallback> callbacks,
             final IFrontendActionAsyncCallback failureCallback,
             final Object state) {
@@ -1007,7 +1007,7 @@
      * @param state The state before the action happened.
      * @param showErrorDialog Should we show an error dialog?
      */
-    void handleActionResult(final VdcActionType actionType, final 
VdcActionParametersBase parameters,
+    <T extends VdcParametersMap> void handleActionResult(final VdcActionType 
actionType, final T parameters,
             final VdcReturnValueBase result, final 
IFrontendActionAsyncCallback callback,
             final Object state, final boolean showErrorDialog) {
         logger.log(Level.FINER, "Retrieved action result from RunAction."); 
//$NON-NLS-1$
@@ -1412,7 +1412,7 @@
      * set the filterQueries parameter.
      * @param parameters The parameters to set.
      */
-    private void initQueryParamsFilter(final VdcQueryParametersBase 
parameters) {
-        parameters.setFiltered(filterQueries);
+    private <T extends VdcParametersMap> void initQueryParamsFilter(final T 
parameters) {
+        parameters.put(CoreVdcParameters.FILTERED, filterQueries);
     }
 }
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/GWTRPCCommunicationProvider.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/GWTRPCCommunicationProvider.java
index a62121a..2eda840 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/GWTRPCCommunicationProvider.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/GWTRPCCommunicationProvider.java
@@ -6,13 +6,12 @@
 import java.util.Map;
 
 import org.ovirt.engine.core.common.action.LoginUserParameters;
-import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import org.ovirt.engine.core.common.businessentities.DbUser;
-import org.ovirt.engine.core.common.queries.VdcQueryParametersBase;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
+import org.ovirt.engine.core.common.utils.VdcParametersMap;
 import org.ovirt.engine.ui.frontend.gwtservices.GenericApiGWTServiceAsync;
 
 import com.google.gwt.user.client.rpc.AsyncCallback;
@@ -69,7 +68,7 @@
      */
     private void runPublicQuery(final VdcOperation<?, ?> operation) {
         getService().RunPublicQuery((VdcQueryType) operation.getOperation(),
-                (VdcQueryParametersBase) operation.getParameter(), new 
AsyncCallback<VdcQueryReturnValue>() {
+                (VdcParametersMap) operation.getParameter(), new 
AsyncCallback<VdcQueryReturnValue>() {
             @Override
             public void onFailure(final Throwable exception) {
                 operation.getCallback().onFailure(operation, exception);
@@ -88,7 +87,7 @@
      */
     private void runQuery(final VdcOperation<?, ?> operation) {
         getService().RunQuery((VdcQueryType) operation.getOperation(),
-                (VdcQueryParametersBase) operation.getParameter(), new 
AsyncCallback<VdcQueryReturnValue>() {
+                (VdcParametersMap) operation.getParameter(), new 
AsyncCallback<VdcQueryReturnValue>() {
             @Override
             public void onFailure(final Throwable exception) {
                 operation.getCallback().onFailure(operation, exception);
@@ -107,7 +106,7 @@
      */
     private void runAction(final VdcOperation<?, ?> operation) {
         getService().RunAction((VdcActionType) operation.getOperation(),
-                (VdcActionParametersBase) operation.getParameter(), new 
AsyncCallback<VdcReturnValueBase>() {
+                (VdcParametersMap) operation.getParameter(), new 
AsyncCallback<VdcReturnValueBase>() {
             @Override
             public void onFailure(final Throwable exception) {
                 operation.getCallback().onFailure(operation, exception);
@@ -154,22 +153,22 @@
      * When the query(ies) complete call the appropriate callback(s).
      * @param queriesList The list of queries.
      */
-    private void transmitMultipleQueries(final List<VdcOperation<?, ?>> 
queriesList) {
+    private <T extends VdcParametersMap> void transmitMultipleQueries(final 
List<VdcOperation<?, ?>> queriesList) {
         if (queriesList.size() > 1 || (queriesList.size() == 1
                 && queriesList.get(0).getCallback() instanceof 
VdcOperationCallbackList)) {
             List<VdcQueryType> queryTypes = new ArrayList<VdcQueryType>();
-            List<VdcQueryParametersBase> parameters = new 
ArrayList<VdcQueryParametersBase>();
+            List<VdcParametersMap> parameters = new 
ArrayList<VdcParametersMap>();
             for (VdcOperation<?, ?> operation: new ArrayList<VdcOperation<?, 
?>>(queriesList)) {
                 if (operation.isPublic()) {
                     queriesList.remove(operation);
                     runPublicQuery(operation);
                 } else {
                     queryTypes.add((VdcQueryType) operation.getOperation());
-                    parameters.add((VdcQueryParametersBase) 
operation.getParameter());
+                    parameters.add((T) operation.getParameter());
                 }
             }
             getService().RunMultipleQueries((ArrayList<VdcQueryType>) 
queryTypes,
-                    (ArrayList<VdcQueryParametersBase>) parameters,
+                    (ArrayList<VdcParametersMap>) parameters,
                     new AsyncCallback<ArrayList<VdcQueryReturnValue>>() {
                 @Override
                 public void onFailure(final Throwable exception) {
@@ -211,16 +210,16 @@
      * @param actions A {@code Map} of {@code VdcActionType}s with a list of 
operations associated with that
      * type
      */
-    private void transmitMultipleActions(final Map<VdcActionType, 
List<VdcOperation<?, ?>>> actions) {
+    private <T extends VdcParametersMap> void transmitMultipleActions(final 
Map<VdcActionType, List<VdcOperation<?, ?>>> actions) {
         for (final VdcActionType actionType: actions.keySet()) {
-            List<VdcActionParametersBase> parameters = new 
ArrayList<VdcActionParametersBase>();
+            List<VdcParametersMap> parameters = new 
ArrayList<VdcParametersMap>();
             final List<VdcOperation<?, ?>> allActionOperations = 
actions.get(actionType);
             for (VdcOperation<?, ?> operation: allActionOperations) {
-                parameters.add((VdcActionParametersBase) 
operation.getParameter());
+                parameters.add((T) operation.getParameter());
             }
             if (parameters.size() > 1 || (allActionOperations.size() == 1
                     && allActionOperations.get(0).getCallback() instanceof 
VdcOperationCallbackList)) {
-                getService().RunMultipleActions(actionType, 
(ArrayList<VdcActionParametersBase>) parameters, false,
+                getService().RunMultipleActions(actionType, 
(ArrayList<VdcParametersMap>) parameters, false,
                         new AsyncCallback<ArrayList<VdcReturnValueBase>>() {
 
                     @Override
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/gwtservices/GenericApiGWTService.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/gwtservices/GenericApiGWTService.java
index acdcf52..25a8f3a 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/gwtservices/GenericApiGWTService.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/gwtservices/GenericApiGWTService.java
@@ -2,36 +2,35 @@
 
 import java.util.ArrayList;
 
-import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import org.ovirt.engine.core.common.businessentities.DbUser;
-import org.ovirt.engine.core.common.queries.VdcQueryParametersBase;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 
 import com.google.gwt.rpc.client.RpcService;
 import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
+import org.ovirt.engine.core.common.utils.VdcParametersMap;
 
 @RemoteServiceRelativePath("GenericApiGWTService")
 public interface GenericApiGWTService extends RpcService {
 
     public VdcQueryReturnValue RunQuery(VdcQueryType search,
-            VdcQueryParametersBase searchParameters);
+            VdcParametersMap searchParameters);
 
     public VdcReturnValueBase RunAction(VdcActionType actionType,
-            VdcActionParametersBase params);
+                                        VdcParametersMap params);
 
     public VdcQueryReturnValue RunPublicQuery(VdcQueryType queryType,
-            VdcQueryParametersBase params);
+                                              VdcParametersMap params);
 
     public ArrayList<VdcQueryReturnValue> RunMultipleQueries(
             ArrayList<VdcQueryType> vdcQueryTypeList,
-            ArrayList<VdcQueryParametersBase> paramsList);
+            ArrayList<? extends VdcParametersMap> paramsList);
 
     public ArrayList<VdcReturnValueBase> RunMultipleActions(
             VdcActionType actionType,
-            ArrayList<VdcActionParametersBase> multipleParams,
+            ArrayList<? extends VdcParametersMap> multipleParams,
             boolean isRunOnlyIfAllCanDoPass);
 
     public DbUser getLoggedInUser();
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/GenericApiGWTServiceImpl.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/GenericApiGWTServiceImpl.java
index 53bf774..5925062 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/GenericApiGWTServiceImpl.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/GenericApiGWTServiceImpl.java
@@ -11,7 +11,6 @@
 import org.apache.log4j.Logger;
 import org.ovirt.engine.core.common.action.LoginUserParameters;
 import org.ovirt.engine.core.common.action.LogoutUserParameters;
-import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import org.ovirt.engine.core.common.businessentities.DbUser;
@@ -19,6 +18,8 @@
 import org.ovirt.engine.core.common.queries.VdcQueryParametersBase;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
+import org.ovirt.engine.core.common.utils.CoreVdcParameters;
+import org.ovirt.engine.core.common.utils.VdcParametersMap;
 import org.ovirt.engine.ui.frontend.gwtservices.GenericApiGWTService;
 
 import com.google.gwt.rpc.server.RpcServlet;
@@ -52,17 +53,27 @@
 
     @Override
     public VdcQueryReturnValue RunQuery(VdcQueryType search,
-            VdcQueryParametersBase searchParameters) {
+                                        VdcParametersMap searchParameters) {
+        return this.RunQueryImpl(search, searchParameters);
+    }
+
+    public <T extends VdcParametersMap> VdcQueryReturnValue 
RunQueryImpl(VdcQueryType search,
+                                        T searchParameters) {
         log.debug("Server: RunQuery invoked!"); //$NON-NLS-1$
         debugQuery(search, searchParameters);
-        searchParameters.setSessionId(getSessionId());
+        searchParameters.put(CoreVdcParameters.SESSION_ID, getSessionId());
         return getBackend().RunQuery(search, searchParameters);
     }
 
     @Override
     public VdcQueryReturnValue RunPublicQuery(VdcQueryType queryType,
-            VdcQueryParametersBase params) {
-        log.debug("Server: RunPublicQuery invoked! " + queryType); 
//$NON-NLS-1$
+                                              VdcParametersMap params) {
+        return RunPublicQueryImpl(queryType, params);
+    }
+
+    private <T extends VdcParametersMap> VdcQueryReturnValue 
RunPublicQueryImpl(VdcQueryType queryType,
+                                               T params) {
+        log.info("Server: RunPublicQuery invoked! " + queryType); //$NON-NLS-1$
         debugQuery(queryType, params);
         return getBackend().RunPublicQuery(queryType, params);
     }
@@ -70,7 +81,7 @@
     @Override
     public ArrayList<VdcQueryReturnValue> RunMultipleQueries(
             ArrayList<VdcQueryType> queryTypeList,
-            ArrayList<VdcQueryParametersBase> queryParamsList) {
+            ArrayList<? extends VdcParametersMap> queryParamsList) {
         int size = queryTypeList == null ? 0 : queryTypeList.size();
         log.debug("Server: RunMultipleQuery invoked! [amount of queries: " + 
size + "]"); //$NON-NLS-1$ //$NON-NLS-2$
         ArrayList<VdcQueryReturnValue> ret = new 
ArrayList<VdcQueryReturnValue>();
@@ -102,11 +113,11 @@
 
     @Override
     public ArrayList<VdcReturnValueBase> RunMultipleActions(VdcActionType 
actionType,
-            ArrayList<VdcActionParametersBase> multipleParams, boolean 
isRunOnlyIfAllCanDoPass) {
+            ArrayList<? extends VdcParametersMap> multipleParams, boolean 
isRunOnlyIfAllCanDoPass) {
         log.debug("Server: RunMultipleAction invoked! [amount of actions: " + 
multipleParams.size() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
 
-        for (VdcActionParametersBase params : multipleParams) {
-            params.setSessionId(getSessionId());
+        for (VdcParametersMap params : multipleParams) {
+            params.put(CoreVdcParameters.SESSION_ID, getSessionId());
         }
 
         ArrayList<VdcReturnValueBase> returnValues =
@@ -117,10 +128,15 @@
 
     @Override
     public VdcReturnValueBase RunAction(VdcActionType actionType,
-            VdcActionParametersBase params) {
+                                        VdcParametersMap params) {
+        return this.RunActionImpl(actionType, params);
+    }
+
+    public <T extends VdcParametersMap> VdcReturnValueBase 
RunActionImpl(VdcActionType actionType,
+                                        T params) {
         log.debug("Server: RunAction invoked!"); //$NON-NLS-1$
         debugAction(actionType, params);
-        params.setSessionId(getSessionId());
+        params.put(CoreVdcParameters.SESSION_ID, getSessionId());
 
         if (noBackend) {
             VdcReturnValueBase rValue = new VdcReturnValueBase();
@@ -202,7 +218,7 @@
         super.doUnexpectedFailure(error);
     }
 
-    private void debugQuery(VdcQueryType queryType, VdcQueryParametersBase 
parameters) {
+    private void debugQuery(VdcQueryType queryType, VdcParametersMap 
parameters) {
         if (log.isDebugEnabled()) {
             StringBuilder builder = new StringBuilder();
             builder.append("Query type: "); //$NON-NLS-1$
@@ -213,7 +229,7 @@
         }
     }
 
-    private void debugAction(VdcActionType actionType, VdcActionParametersBase 
params) {
+    private void debugAction(VdcActionType actionType, VdcParametersMap 
params) {
         if (log.isDebugEnabled()) {
             StringBuilder builder = new StringBuilder();
             builder.append("Action type: "); //$NON-NLS-1$
diff --git 
a/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendTest.java
 
b/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendTest.java
index a11df6d..d349cb3 100644
--- 
a/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendTest.java
+++ 
b/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendTest.java
@@ -27,6 +27,7 @@
 import org.ovirt.engine.core.common.queries.VdcQueryParametersBase;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
+import org.ovirt.engine.core.common.utils.VdcParametersMap;
 import org.ovirt.engine.ui.frontend.communication.CommunicationProvider;
 import org.ovirt.engine.ui.frontend.communication.GWTRPCCommunicationProvider;
 import org.ovirt.engine.ui.frontend.communication.OperationProcessor;
@@ -450,7 +451,7 @@
     public void testRunMultipleQueries_ignored_failure() {
         ArrayList<VdcQueryType> queryTypeList = new ArrayList<VdcQueryType>();
         queryTypeList.add(VdcQueryType.Search);
-        ArrayList<VdcQueryParametersBase> queryParamsList = new 
ArrayList<VdcQueryParametersBase>();
+        ArrayList<VdcParametersMap> queryParamsList = new 
ArrayList<VdcParametersMap>();
         queryParamsList.add(new SearchParameters("*win*", SearchType.VM)); 
//$NON-NLS-1$
         frontend.runMultipleQueries(queryTypeList, queryParamsList, 
mockMultipleQueryCallback, "test"); //$NON-NLS-1$
         StatusCodeException exception = new StatusCodeException(0, "0 status 
code"); //$NON-NLS-1$
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendActionAsyncResult.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendActionAsyncResult.java
index af33cea..0047a79 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendActionAsyncResult.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendActionAsyncResult.java
@@ -3,6 +3,7 @@
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
+import org.ovirt.engine.core.common.utils.VdcParametersMap;
 
 public final class FrontendActionAsyncResult
 {
@@ -15,12 +16,12 @@
        {
                privateActionType = value;
        }
-       private VdcActionParametersBase privateParameters;
-       public VdcActionParametersBase getParameters()
+       private Object privateParameters;
+       public <T extends VdcParametersMap> T getParameters()
        {
-               return privateParameters;
+               return (T) privateParameters;
        }
-       public void setParameters(VdcActionParametersBase value)
+       public <T extends VdcParametersMap> void setParameters(T value)
        {
                privateParameters = value;
        }
@@ -43,14 +44,14 @@
         state = value;
     }
 
-       public FrontendActionAsyncResult(VdcActionType actionType, 
VdcActionParametersBase parameters, VdcReturnValueBase returnValue)
+       public <T extends VdcParametersMap> 
FrontendActionAsyncResult(VdcActionType actionType, T parameters, 
VdcReturnValueBase returnValue)
        {
                setActionType(actionType);
                setParameters(parameters);
                setReturnValue(returnValue);
        }
        
-       public FrontendActionAsyncResult(VdcActionType actionType, 
VdcActionParametersBase parameters, VdcReturnValueBase returnValue, Object 
state)
+       public <T extends VdcParametersMap> 
FrontendActionAsyncResult(VdcActionType actionType, T parameters, 
VdcReturnValueBase returnValue, Object state)
     {
            setActionType(actionType);
         setParameters(parameters);
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendMultipleActionAsyncResult.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendMultipleActionAsyncResult.java
index cf82903..50beafa 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendMultipleActionAsyncResult.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendMultipleActionAsyncResult.java
@@ -1,8 +1,8 @@
 package org.ovirt.engine.ui.uicompat;
 
-import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
+import org.ovirt.engine.core.common.utils.VdcParametersMap;
 
 public final class FrontendMultipleActionAsyncResult
 {
@@ -15,23 +15,23 @@
     {
         privateActionType = value;
     }
-    private java.util.List<VdcActionParametersBase> privateParameters;
-    public java.util.List<VdcActionParametersBase> getParameters()
+    private java.util.List<? extends VdcParametersMap> privateParameters;
+    public java.util.List<? extends VdcParametersMap> getParameters()
     {
         return privateParameters;
     }
-    public void setParameters(java.util.List<VdcActionParametersBase> value)
+    public void setParameters(java.util.List<? extends VdcParametersMap> value)
     {
         privateParameters = value;
     }
-    private java.util.List<VdcReturnValueBase> privateReturnValue;
-    public java.util.List<VdcReturnValueBase> getReturnValue()
+    private java.util.List<VdcReturnValueBase> privateReturnValue;
+    public java.util.List<VdcReturnValueBase> getReturnValue()
     {
-        return privateReturnValue;
+        return privateReturnValue;
     }
     private void setReturnValues(java.util.List<VdcReturnValueBase> value)
     {
-        privateReturnValue = value;
+        privateReturnValue = value;
     }
     private Object privateState;
     public Object getState()
@@ -43,14 +43,14 @@
         privateState = value;
     }
 
-    public FrontendMultipleActionAsyncResult(VdcActionType actionType, 
java.util.List<VdcActionParametersBase> parameters, 
java.util.List<VdcReturnValueBase> returnValue)
+    public FrontendMultipleActionAsyncResult(VdcActionType actionType, 
java.util.List<? extends VdcParametersMap> parameters, 
java.util.List<VdcReturnValueBase> returnValue)
     {
         setActionType(actionType);
         setParameters(parameters);
         setReturnValues(returnValue);
     }
 
-    public FrontendMultipleActionAsyncResult(VdcActionType actionType, 
java.util.List<VdcActionParametersBase> parameters, 
java.util.List<VdcReturnValueBase> returnValue, Object state)
+    public FrontendMultipleActionAsyncResult(VdcActionType actionType, 
java.util.List<? extends VdcParametersMap> parameters, 
java.util.List<VdcReturnValueBase> returnValue, Object state)
     {
         this(actionType, parameters, returnValue);
         setState(state);
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendMultipleQueryAsyncResult.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendMultipleQueryAsyncResult.java
index d877ee9..c45361c 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendMultipleQueryAsyncResult.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/FrontendMultipleQueryAsyncResult.java
@@ -1,26 +1,26 @@
 package org.ovirt.engine.ui.uicompat;
 
-import java.util.ArrayList;
+import java.util.ArrayList;
 import java.util.List;
 
-import org.ovirt.engine.core.common.queries.VdcQueryParametersBase;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
+import org.ovirt.engine.core.common.utils.VdcParametersMap;
 
 public final class FrontendMultipleQueryAsyncResult {
        public FrontendMultipleQueryAsyncResult(List<VdcQueryType> queryTypes,
-                       List<VdcQueryParametersBase> parameters,
+                       List<? extends VdcParametersMap> parameters,
                        List<VdcQueryReturnValue> returnValues) {
                setQueryTypes(queryTypes);
                setParameters(parameters);
                setReturnValues(returnValues);
        }
 
-       public FrontendMultipleQueryAsyncResult() {
-           setReturnValues(new ArrayList<VdcQueryReturnValue>());
-    }
-
-    private List<VdcQueryType> privateQueryTypes;
+       public FrontendMultipleQueryAsyncResult() {
+           setReturnValues(new ArrayList<VdcQueryReturnValue>());
+    }
+
+    private List<VdcQueryType> privateQueryTypes;
 
        public List<VdcQueryType> getQueryTypes() {
                return privateQueryTypes;
@@ -30,13 +30,13 @@
                privateQueryTypes = value;
        }
 
-       private List<VdcQueryParametersBase> privateParameters;
+       private List<? extends VdcParametersMap> privateParameters;
 
-       public List<VdcQueryParametersBase> getParameters() {
+       public List<? extends VdcParametersMap> getParameters() {
                return privateParameters;
        }
 
-       public void setParameters(List<VdcQueryParametersBase> value) {
+       public void setParameters(List<? extends VdcParametersMap> value) {
                privateParameters = value;
        }
 


-- 
To view, visit http://gerrit.ovirt.org/21482
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I32eede1e6a27bfe4d906be1fe0a3a397a865df4c
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ravi Nori <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to