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
