Alexander Wels has uploaded a new change for review.

Change subject: Revert "webadmin: Store rest api session id in http session"
......................................................................

Revert "webadmin: Store rest api session id in http session"

This reverts commit f696784e7c6986edf0a831303f8633a3cf6066dc.

Change-Id: Id9e49cc436ff81c0d4fc3b8c8814b0f2374e41da
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1096313
Signed-off-by: Alexander Wels <[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/CommunicationProvider.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/communication/OperationProcessor.java
D 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/StorageCallback.java
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/VdcOperationManager.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/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/restapi/RestApiSessionManager.java
9 files changed, 10 insertions(+), 183 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/45/27545/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 527d2bf..dceea50 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
@@ -20,7 +20,6 @@
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.ui.frontend.communication.RefreshActiveModelEvent;
-import org.ovirt.engine.ui.frontend.communication.StorageCallback;
 import org.ovirt.engine.ui.frontend.communication.UserCallback;
 import org.ovirt.engine.ui.frontend.communication.VdcOperation;
 import org.ovirt.engine.ui.frontend.communication.VdcOperationCallback;
@@ -633,7 +632,7 @@
 
     /**
      * A convenience method that calls {@link 
#runMultipleActions(VdcActionType, List, List, Object)} with
-     * running callbacks even on empty run.
+     * running callbacks even on empty run
      *
      * @param actionType The action to be repeated.
      * @param parameters The parameters of each action.
@@ -876,14 +875,6 @@
         } else {
             getOperationManager().setLoggedIn(false);
         }
-    }
-
-    public void storeInHttpSession(final String key, final String value) {
-        getOperationManager().storeInHttpSession(key, value);
-    }
-
-    public void retrieveFromHttpSession(final String key, final 
StorageCallback callback) {
-        getOperationManager().retrieveFromHttpSession(key, callback);
     }
 
     // TODO: Externalize to a better location, should support translation via
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/CommunicationProvider.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/CommunicationProvider.java
index 680a2f0..796462e 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/CommunicationProvider.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/CommunicationProvider.java
@@ -31,19 +31,4 @@
      */
     void logout(Object userObject, UserCallback<?> callback);
 
-    /**
-     * Store a {@code String} key value pair in the {@code HttpSession} on the 
server side. As a result these keys
-     * will not be persisted across engine server restarts.
-     * @param key The key.
-     * @param value The value.
-     * @param callback The callback to call once the value has been stored.
-     */
-    void storeInHttpSession(String key, String value, StorageCallback 
callback);
-
-    /**
-     * Retrieve the value associated with the key from the {@code HttpSession} 
on the server side.
-     * @param key The key
-     * @param the callback to call with the result.
-     */
-    void retrieveFromHttpSession(String key, StorageCallback callback);
 }
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 7d67fed..a3d8f23 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
@@ -379,33 +379,4 @@
         });
     }
 
-    @Override
-    public void storeInHttpSession(final String key, final String value, final 
StorageCallback callback) {
-        getService().storeInHttpSession(key, value, new AsyncCallback<Void>() {
-            @Override
-            public void onSuccess(final Void result) {
-                callback.onSuccess(null);
-            }
-
-            @Override
-            public void onFailure(final Throwable caught) {
-                callback.onFailure(caught);
-            }
-        });
-    }
-
-    @Override
-    public void retrieveFromHttpSession(final String key, final 
StorageCallback callback) {
-        getService().retrieveFromHttpSession(key, new AsyncCallback<String>() {
-            @Override
-            public void onSuccess(final String result) {
-                callback.onSuccess(result);
-            }
-
-            @Override
-            public void onFailure(final Throwable caught) {
-                callback.onFailure(caught);
-            }
-        });
-    }
 }
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/OperationProcessor.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/OperationProcessor.java
index 3e31a59..09824d8 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/OperationProcessor.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/OperationProcessor.java
@@ -267,32 +267,4 @@
         communicationProvider.logout(userObject, callback);
     }
 
-    /**
-     * Default store where the caller doesn't care about the result.
-     * @param key The key
-     * @param value The value to store.
-     */
-    public void storeInHttpSession(final String key, final String value) {
-        storeInHttpSession(key, value, new StorageCallback() {
-
-            @Override
-            public void onSuccess(String result) {
-                // Do nothing
-            }
-
-            @Override
-            public void onFailure(Throwable caught) {
-                //Do nothing
-            }
-
-        });
-    }
-
-    public void storeInHttpSession(final String key, final String value, final 
StorageCallback callback) {
-        communicationProvider.storeInHttpSession(key, value, callback);
-    }
-
-    public void retrieveFromHttpSession(final String key, final 
StorageCallback callback) {
-        communicationProvider.retrieveFromHttpSession(key, callback);
-    }
 }
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/StorageCallback.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/StorageCallback.java
deleted file mode 100644
index 15f8cbd..0000000
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/StorageCallback.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.ovirt.engine.ui.frontend.communication;
-
-public interface StorageCallback {
-    /**
-     * Success callback.
-     * @param result Either the value, or null if there is no value to return.
-     */
-    void onSuccess(String result);
-
-    /**
-     * Failure callback.
-     * @param caught Any exceptions caught during the processing of the 
operation.
-     */
-    void onFailure(Throwable caught);
-}
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/VdcOperationManager.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/VdcOperationManager.java
index 2c00dd2..22ef675 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/VdcOperationManager.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/VdcOperationManager.java
@@ -152,21 +152,4 @@
         loggedIn = isLoggedIn;
     }
 
-    /**
-     * Store a value on the back-end in the session.
-     * @param key The key.
-     * @param value The value.
-     */
-    public void storeInHttpSession(final String key, final String value) {
-        processor.storeInHttpSession(key, value);
-    }
-
-    /**
-     * Retrieve a stored value from the back-end session.
-     * @param key The key.
-     * @param callback The callback to call with the value.
-     */
-    public void retrieveFromHttpSession(final String key, final 
StorageCallback callback) {
-        processor.retrieveFromHttpSession(key, callback);
-    }
 }
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 8e4036b..69d102d 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
@@ -45,7 +45,4 @@
 
     public VdcReturnValueBase Login(String userName, String password, String 
profileName, VdcActionType loginType);
 
-    public void storeInHttpSession(String key, String value);
-
-    public String retrieveFromHttpSession(String key);
 }
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 5356e47..d37b8b9 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
@@ -33,8 +33,6 @@
 
     private static final Logger log = 
Logger.getLogger(GenericApiGWTServiceImpl.class);
 
-    private static final String UI_PREFIX = "UI_"; //$NON-NLS-1$
-
     private BackendLocal backend;
 
     @EJB(beanInterface = BackendLocal.class,
@@ -192,27 +190,6 @@
         log.debug("IP [" + request.getRemoteAddr() + "], Session ID [" + 
session.getId() + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 
         return session;
-    }
-
-    @Override
-    public void storeInHttpSession(String key, String value) {
-        HttpServletRequest request = this.getThreadLocalRequest();
-        HttpSession session = request.getSession();
-        session.setAttribute(UI_PREFIX + key, value);
-    }
-
-    @Override
-    public String retrieveFromHttpSession(String key) {
-        HttpServletRequest request = this.getThreadLocalRequest();
-        HttpSession session = request.getSession();
-        Object value = session.getAttribute(UI_PREFIX + key);
-        String result = null;
-        if (value instanceof String) {
-            result = (String)value;
-        } else {
-            log.error("Retrieving non string value from session"); 
//$NON-NLS-1$
-        }
-        return result;
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/restapi/RestApiSessionManager.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/restapi/RestApiSessionManager.java
index 2605af5..eaf785f 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/restapi/RestApiSessionManager.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/restapi/RestApiSessionManager.java
@@ -4,8 +4,6 @@
 import java.util.logging.Logger;
 
 import org.ovirt.engine.ui.common.system.ClientStorage;
-import org.ovirt.engine.ui.frontend.Frontend;
-import org.ovirt.engine.ui.frontend.communication.StorageCallback;
 import org.ovirt.engine.ui.frontend.utils.BaseContextPathData;
 
 import com.google.gwt.core.client.Scheduler;
@@ -73,8 +71,6 @@
     private final String restApiBaseUrl;
 
     private String sessionTimeout;
-
-    private String restApiSessionId;
 
     @Inject
     public RestApiSessionManager(EventBus eventBus, ClientStorage 
clientStorage) {
@@ -163,39 +159,14 @@
      * Attempts to reuse existing REST API session that was previously 
{@linkplain #acquireSession acquired}.
      */
     public void reuseSession() {
-        //If reuseSession is called right after setSessionId, then 
getSessionId() without the callback will not
-        //be null. If it is null then reuseSession was called from an 
automatic login (as restApiSessionId is null
-        //can we can utilize the async call to retrieve it from the backend.
-        if (getSessionId() != null) {
-            processSessionId(getSessionId());
+        String sessionId = getSessionId();
+
+        if (sessionId != null) {
+            RestApiSessionAcquiredEvent.fire(eventBus, sessionId);
+            scheduleKeepAliveHeartbeat();
         } else {
-            getSessionId(new StorageCallback() {
-
-                @Override
-                public void onSuccess(String result) {
-                    if (result != null) {
-                        restApiSessionId = result;
-                        processSessionId(result);
-                    } else {
-                        processSessionIdException();
-                    }
-                }
-
-                @Override
-                public void onFailure(Throwable caught) {
-                    processSessionIdException();
-                }
-
-                private void processSessionIdException() {
-                    RestApiSessionManager.logger.severe("Engine REST API 
session ID is not available"); //$NON-NLS-1$
-                }
-            });
+            RestApiSessionManager.logger.severe("Engine REST API session ID is 
not available"); //$NON-NLS-1$
         }
-    }
-
-    private void processSessionId(String sessionId) {
-        RestApiSessionAcquiredEvent.fire(eventBus, sessionId);
-        scheduleKeepAliveHeartbeat();
     }
 
     /**
@@ -206,20 +177,15 @@
     }
 
     String getSessionId() {
-        return restApiSessionId;
-    }
-
-    void getSessionId(final StorageCallback callback) {
-        Frontend.getInstance().retrieveFromHttpSession(SESSION_ID_KEY, 
callback);
+        return clientStorage.getLocalItem(SESSION_ID_KEY);
     }
 
     void setSessionId(String sessionId) {
-        Frontend.getInstance().storeInHttpSession(SESSION_ID_KEY, sessionId);
-        restApiSessionId = sessionId;
+        clientStorage.setLocalItem(SESSION_ID_KEY, sessionId);
     }
 
     void clearSessionId() {
-        setSessionId(null);
+        clientStorage.removeLocalItem(SESSION_ID_KEY);
     }
 
 }


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

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

Reply via email to