Alexander Wels has uploaded a new change for review.

Change subject: webadmin: reports sso token
......................................................................

webadmin: reports sso token

- Implemented ssoToken based on header value returned on
  login instead of cookie which is no longer readable. This
  token is now passed to the reports application instead of
  the cookie value.

Change-Id: Ib906a1cca87712fb4e31c68c5e8c70151976ce0f
Signed-off-by: Alexander Wels <[email protected]>
---
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/GWTRPCCommunicationProvider.java
A 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/SSOTokenChange.java
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/GenericApiGWTServiceImpl.java
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/GwtDynamicHostPageServlet.java
M 
frontend/webadmin/modules/frontend/src/main/resources/META-INF/resources/GwtHostPage.jsp
M 
frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendActionTest.java
M 
frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendTest.java
M 
frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/communication/GWTRPCCommunicationProviderTest.java
A 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/auth/SSOTokenData.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/BaseApplicationInit.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ReportInit.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SearchableListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportsListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
16 files changed, 136 insertions(+), 22 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/42/27542/1

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..a898e2b 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
@@ -15,7 +15,14 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.ui.frontend.gwtservices.GenericApiGWTServiceAsync;
 
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.http.client.Request;
+import com.google.gwt.http.client.RequestBuilder;
+import com.google.gwt.http.client.RequestCallback;
+import com.google.gwt.http.client.Response;
 import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.rpc.RpcRequestBuilder;
+import com.google.gwt.user.client.rpc.ServiceDefTarget;
 import com.google.inject.Inject;
 
 /**
@@ -24,10 +31,17 @@
 @SuppressWarnings({ "unchecked", "rawtypes" })
 public class GWTRPCCommunicationProvider implements CommunicationProvider {
 
+    private static final String SSO_TOKEN_HEADER = "X-SSO-TOKEN"; //$NON-NLS-1$
+
     /**
      * GWT RPC service.
      */
     private final GenericApiGWTServiceAsync service;
+
+    /**
+     * GWT event bus.
+     */
+    private final EventBus eventBus;
 
     /**
      * Get the GWT RPC service.
@@ -42,8 +56,31 @@
      * @param asyncService GWT RPC service.
      */
     @Inject
-    public GWTRPCCommunicationProvider(final GenericApiGWTServiceAsync 
asyncService) {
+    public GWTRPCCommunicationProvider(final GenericApiGWTServiceAsync 
asyncService, final EventBus eventBus) {
+        this.eventBus = eventBus;
         this.service = asyncService;
+        ((ServiceDefTarget) this.service).setRpcRequestBuilder(new 
RpcRequestBuilder() {
+            @Override
+            protected void doSetCallback(RequestBuilder rb, final 
RequestCallback callback) {
+                super.doSetCallback(rb, new RequestCallback() {
+
+                    @Override
+                    public void onResponseReceived(Request request, Response 
response) {
+                        String tokenValue = 
response.getHeader(SSO_TOKEN_HEADER);
+                        if (tokenValue != null) {
+                            //Login result received.
+                            SSOTokenChangeEvent.fire(eventBus, tokenValue);
+                        }
+                        callback.onResponseReceived(request, response);
+                    }
+
+                    @Override
+                    public void onError(Request request, Throwable exception) {
+                        callback.onError(request, exception);
+                    }
+                });
+            }
+        });
     }
 
     /**
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/SSOTokenChange.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/SSOTokenChange.java
new file mode 100644
index 0000000..37a4a91
--- /dev/null
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/communication/SSOTokenChange.java
@@ -0,0 +1,8 @@
+package org.ovirt.engine.ui.frontend.communication;
+
+import com.gwtplatform.dispatch.annotation.GenEvent;
+
+@GenEvent
+public class SSOTokenChange {
+    String ssoToken;
+}
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..fb732c2 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
@@ -182,6 +182,7 @@
         params.setSessionId(getSession().getId());
         params.setActionType(loginType);
         VdcReturnValueBase returnValue = getBackend().login(params);
+        this.getThreadLocalResponse().addHeader("X-SSO-TOKEN", 
getSession().getId()); //$NON-NLS-1$
         return returnValue;
     }
 
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/GwtDynamicHostPageServlet.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/GwtDynamicHostPageServlet.java
index 51b2bba..69ec017 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/GwtDynamicHostPageServlet.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/GwtDynamicHostPageServlet.java
@@ -46,6 +46,7 @@
         ATTR_MESSAGES("messages"), //$NON-NLS-1$
         ATTR_BASE_CONTEXT_PATH("baseContextPath"), //$NON-NLS-1$
         ATTR_LOCALE(LocaleFilter.LOCALE),
+        ATTR_SSO_TOKEN("ssoToken"), //$NON-NLS-1$
         ATTR_APPLICATION_TYPE(BrandingFilter.APPLICATION_NAME);
 
         private final String attributeKey;
@@ -111,6 +112,7 @@
         DbUser loggedInUser = getLoggedInUser(request.getSession().getId());
         if (loggedInUser != null) {
             request.setAttribute(MD5Attributes.ATTR_USER_INFO.getKey(), 
getUserInfoObject(loggedInUser));
+            request.setAttribute(MD5Attributes.ATTR_SSO_TOKEN.getKey(), 
getSessionIdNode(request.getSession().getId()));
         }
 
         try {
@@ -179,6 +181,11 @@
         return node.toString();
     }
 
+    private String getSessionIdNode(String sessionId) {
+        ObjectNode node = mapper.createObjectNode();
+        node.put("value", sessionId); //$NON-NLS-1$
+        return node.toString();
+    }
     /**
      * Get a JavaScript associative array string that define the branding 
messages.
      * @param applicationName the application name.
diff --git 
a/frontend/webadmin/modules/frontend/src/main/resources/META-INF/resources/GwtHostPage.jsp
 
b/frontend/webadmin/modules/frontend/src/main/resources/META-INF/resources/GwtHostPage.jsp
index 45bcdbc..855dd87 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/resources/META-INF/resources/GwtHostPage.jsp
+++ 
b/frontend/webadmin/modules/frontend/src/main/resources/META-INF/resources/GwtHostPage.jsp
@@ -12,6 +12,7 @@
     <script type="text/javascript">
         <c:if test="${requestScope['userInfo'] != null}">
             var userInfo = <c:out value="${requestScope['userInfo']}" 
escapeXml="false"/>;
+            var ssoToken = <c:out value="${requestScope['ssoToken']}" 
escapeXml="false"/>;
         </c:if>
         <c:if test="${requestScope['applicationMode'] != null}">
             var applicationMode = <c:out 
value="${requestScope['applicationMode']}" escapeXml="false"/>;
diff --git 
a/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendActionTest.java
 
b/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendActionTest.java
index 3c41bbd..ce40bcc 100644
--- 
a/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendActionTest.java
+++ 
b/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendActionTest.java
@@ -99,7 +99,7 @@
     @Before
     public void setUp() throws Exception {
         fakeScheduler = new FakeGWTScheduler();
-        CommunicationProvider communicationsProvider = new 
GWTRPCCommunicationProvider(mockService);
+        CommunicationProvider communicationsProvider = new 
GWTRPCCommunicationProvider(mockService, mockEventBus);
         OperationProcessor operationProcessor = new 
OperationProcessor(communicationsProvider);
         operationProcessor.setScheduler(fakeScheduler);
         VdcOperationManager operationsManager = new 
VdcOperationManager(operationProcessor);
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 1607ced..3f10b10 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
@@ -93,7 +93,7 @@
     @Before
     public void setUp() throws Exception {
         fakeScheduler = new FakeGWTScheduler();
-        CommunicationProvider communicationsProvider = new 
GWTRPCCommunicationProvider(mockService);
+        CommunicationProvider communicationsProvider = new 
GWTRPCCommunicationProvider(mockService, mockEventBus);
         OperationProcessor operationProcessor = new 
OperationProcessor(communicationsProvider);
         operationProcessor.setScheduler(fakeScheduler);
         VdcOperationManager operationsManager = new 
VdcOperationManager(operationProcessor);
diff --git 
a/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/communication/GWTRPCCommunicationProviderTest.java
 
b/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/communication/GWTRPCCommunicationProviderTest.java
index a8283c2..59dd7cf 100644
--- 
a/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/communication/GWTRPCCommunicationProviderTest.java
+++ 
b/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/communication/GWTRPCCommunicationProviderTest.java
@@ -23,6 +23,7 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.ui.frontend.gwtservices.GenericApiGWTServiceAsync;
 
+import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.user.client.rpc.AsyncCallback;
 
 @RunWith(MockitoJUnitRunner.class)
@@ -37,6 +38,9 @@
     VdcOperationCallbackList mockOperationCallbackList1;
     @Mock
     VdcOperationCallbackList mockOperationCallbackList2;
+    @Mock
+    EventBus mockEventBus;
+
     @Captor
     ArgumentCaptor<AsyncCallback<VdcReturnValueBase>> actionCallback;
     @Captor
@@ -53,7 +57,7 @@
 
     @Before
     public void setUp() throws Exception {
-        testProvider = new GWTRPCCommunicationProvider(mockService);
+        testProvider = new GWTRPCCommunicationProvider(mockService, 
mockEventBus);
     }
 
     @Test
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/auth/SSOTokenData.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/auth/SSOTokenData.java
new file mode 100644
index 0000000..4204175
--- /dev/null
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/auth/SSOTokenData.java
@@ -0,0 +1,21 @@
+package org.ovirt.engine.ui.common.auth;
+
+import com.google.gwt.core.client.JavaScriptObject;
+
+public final class SSOTokenData extends JavaScriptObject {
+
+    protected SSOTokenData() {
+    }
+
+    public static native SSOTokenData instance() /*-{
+        return $wnd.ssoToken;
+    }-*/;
+
+    public native String getValue() /*-{
+        return this.value;
+    }-*/;
+
+    public String getSsoToken() {
+        return getValue();
+    }
+}
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/BaseApplicationInit.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/BaseApplicationInit.java
index b37faaf..7c7c718 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/BaseApplicationInit.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/BaseApplicationInit.java
@@ -4,11 +4,13 @@
 import org.ovirt.engine.ui.common.auth.AutoLoginData;
 import org.ovirt.engine.ui.common.auth.CurrentUser;
 import org.ovirt.engine.ui.common.auth.CurrentUser.LogoutHandler;
+import org.ovirt.engine.ui.common.auth.SSOTokenData;
 import org.ovirt.engine.ui.common.uicommon.FrontendEventsHandlerImpl;
 import org.ovirt.engine.ui.common.uicommon.FrontendFailureEventListener;
 import org.ovirt.engine.ui.common.uicommon.model.CleanupModelEvent;
 import org.ovirt.engine.ui.common.uicommon.model.UiCommonInitEvent;
 import org.ovirt.engine.ui.frontend.Frontend;
+import org.ovirt.engine.ui.frontend.communication.SSOTokenChangeEvent;
 import org.ovirt.engine.ui.uicommonweb.ITypeResolver;
 import org.ovirt.engine.ui.uicommonweb.TypeResolver;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
@@ -107,7 +109,7 @@
 
     protected void performLogin(T loginModel) {
         DbUser loggedUser = loginModel.getLoggedUser();
-        String loginPassword = (String) loginModel.getPassword().getEntity();
+        String loginPassword = loginModel.getPassword().getEntity();
 
         // UiCommon login preparation
         frontend.initLoggedInUser(loggedUser, loginPassword);
@@ -171,6 +173,7 @@
             }
         });
 
+        SSOTokenChangeEvent.fire(eventBus, 
SSOTokenData.instance().getSsoToken());
         // Indicate that the user should be logged in automatically
         user.setAutoLogin(true);
     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ReportInit.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ReportInit.java
index d9f97f2..247c32d 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ReportInit.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ReportInit.java
@@ -5,6 +5,8 @@
 
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
+import org.ovirt.engine.ui.frontend.communication.SSOTokenChangeEvent;
+import 
org.ovirt.engine.ui.frontend.communication.SSOTokenChangeEvent.SSOTokenChangeHandler;
 import org.ovirt.engine.ui.frontend.utils.BaseContextPathData;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
 import org.ovirt.engine.ui.uicompat.Event;
@@ -12,6 +14,8 @@
 import org.ovirt.engine.ui.uicompat.ReportParser.Dashboard;
 import org.ovirt.engine.ui.uicompat.ReportParser.Resource;
 
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.event.shared.HandlerRegistration;
 import com.google.gwt.http.client.Request;
 import com.google.gwt.http.client.RequestBuilder;
 import com.google.gwt.http.client.RequestCallback;
@@ -27,10 +31,13 @@
     private boolean urlInitialized;
     private Event reportsInitEvent;
     private String reportBaseUrl;
+    private String ssoToken;
     private boolean isCommunityEdition;
 
     private Map<String, Resource> resourceMap;
     private Map<String, Dashboard> dashboardMap;
+
+    private HandlerRegistration ssoTokenHandlerRegistration;
 
     public static ReportInit getInstance() {
         return INSTANCE;
@@ -135,16 +142,25 @@
         return reportBaseUrl;
     }
 
+    public void setSsoToken(final String token) {
+        this.ssoToken = token;
+        checkIfInitFinished();
+    }
+
+    public String getSsoToken() {
+        return this.ssoToken;
+    }
+
     private void setXmlInitialized() {
         this.xmlInitialized = true;
         checkIfInitFinished();
     }
 
     private void checkIfInitFinished() {
-        if (xmlInitialized && urlInitialized) {
+        if (xmlInitialized && urlInitialized && ssoToken != null) {
 
             // Check if the reports should be enabled in this system
-            if (!reportBaseUrl.equals("") && !resourceMap.isEmpty()) { 
//$NON-NLS-1$
+            if (!"".equals(reportBaseUrl) && !resourceMap.isEmpty() && 
!"".equals(ssoToken)) { //$NON-NLS-1$ $NON-NLS-2$
                 setReportsEnabled(true);
             } else {
                 setReportsEnabled(false);
@@ -155,4 +171,21 @@
         }
     }
 
+    public void initHandlers(EventBus eventBus) {
+        if (ssoTokenHandlerRegistration != null) {
+            ssoTokenHandlerRegistration.removeHandler();
+        }
+        // Register to listen for session id acquired events.
+        ssoTokenHandlerRegistration = 
eventBus.addHandler(SSOTokenChangeEvent.getType(),
+            new SSOTokenChangeHandler() {
+
+                @Override
+                public void onSSOTokenChange(SSOTokenChangeEvent event) {
+                    ssoToken = event.getSsoToken();
+                    checkIfInitFinished();
+                }
+            }
+        );
+    }
+
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java
index f056b21..7c35de5 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java
@@ -184,7 +184,8 @@
         userList = new UserListModel();
         list.add(userList);
 
-        reportsList = new 
ReportsListModel(ReportInit.getInstance().getReportBaseUrl());
+        reportsList = new 
ReportsListModel(ReportInit.getInstance().getReportBaseUrl(),
+                ReportInit.getInstance().getSsoToken());
         list.add(reportsList);
 
         reportsList.setIsAvailable(false);
@@ -307,7 +308,7 @@
         updateHasSelectedTags();
         getTagList().getSelectedItemsChangedEvent().addListener(this);
 
-        SystemTreeItemModel model = (SystemTreeItemModel) 
getSystemTree().getSelectedItem();
+        SystemTreeItemModel model = getSystemTree().getSelectedItem();
         if (model == null)
         {
             return;
@@ -345,7 +346,7 @@
             if (getSelectedItem() instanceof ISupportSystemTreeContext)
             {
                 ISupportSystemTreeContext treeContext = 
(ISupportSystemTreeContext) getSelectedItem();
-                treeContext.setSystemTreeSelectedItem((SystemTreeItemModel) 
getSystemTree().getSelectedItem());
+                
treeContext.setSystemTreeSelectedItem(getSystemTree().getSelectedItem());
             }
         }
     }
@@ -657,7 +658,7 @@
             if (getSelectedItem() instanceof ISupportSystemTreeContext)
             {
                 ISupportSystemTreeContext treeContext = 
(ISupportSystemTreeContext) getSelectedItem();
-                treeContext.setSystemTreeSelectedItem((SystemTreeItemModel) 
getSystemTree().getSelectedItem());
+                
treeContext.setSystemTreeSelectedItem(getSystemTree().getSelectedItem());
             }
         }
 
@@ -736,7 +737,7 @@
     private void splitSearchString(String source, RefObject<String> prefix, 
RefObject<String> search)
     {
         ArrayList<TagModel> tags = (ArrayList<TagModel>) 
getTagList().getSelectedItems();
-        SystemTreeItemModel model = (SystemTreeItemModel) 
getSystemTree().getSelectedItem();
+        SystemTreeItemModel model = getSystemTree().getSelectedItem();
 
         prefix.argvalue = ""; //$NON-NLS-1$
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SearchableListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SearchableListModel.java
index f382fd3..a3b001a 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SearchableListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SearchableListModel.java
@@ -496,7 +496,8 @@
 
     protected ReportModel createReportModel() {
         ReportCommand reportCommand = (ReportCommand) getLastExecutedCommand();
-        ReportModel reportModel = new 
ReportModel(ReportInit.getInstance().getReportBaseUrl());
+        ReportModel reportModel = new 
ReportModel(ReportInit.getInstance().getReportBaseUrl(),
+                ReportInit.getInstance().getSsoToken());
 
         reportModel.setReportUnit(reportCommand.getUriValue());
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportModel.java
index 0240460..4364397 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportModel.java
@@ -7,7 +7,6 @@
 import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
 
 import com.google.gwt.i18n.client.LocaleInfo;
-import com.google.gwt.user.client.Cookies;
 
 public class ReportModel extends EntityModel {
 
@@ -15,11 +14,10 @@
     private boolean differntDcError = false;
     private final String reportUrl;
 
-    public ReportModel(String baseUrl) {
-        String sessionID = Cookies.getCookie("JSESSIONID"); //$NON-NLS-1$
+    public ReportModel(String baseUrl, String ssoToken) {
 
         reportUrl = baseUrl + "/flow.html" + "?viewAsDashboardFrame=false"; 
//$NON-NLS-1$ //$NON-NLS-2$
-        paramsMap.setParameter("sessionID", sessionID); //$NON-NLS-1$
+        paramsMap.setParameter("sessionID", ssoToken); //$NON-NLS-1$
         paramsMap.setParameter("_flowId", "viewReportFlow"); //$NON-NLS-1$ 
//$NON-NLS-2$
         paramsMap.setParameter("active_hosts_select", //$NON-NLS-1$
                "AND+delete_date+IS+NULL"); //$NON-NLS-1$
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportsListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportsListModel.java
index 72a0841..0111196 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportsListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/reports/ReportsListModel.java
@@ -22,7 +22,6 @@
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.i18n.client.LocaleInfo;
-import com.google.gwt.user.client.Cookies;
 
 public class ReportsListModel extends SearchableListModel {
 
@@ -36,10 +35,9 @@
         return reportModelRefreshEvent;
     }
 
-    public ReportsListModel(String baseUrl) {
-        String sessionID = Cookies.getCookie("JSESSIONID"); //$NON-NLS-1$
+    public ReportsListModel(String baseUrl, String ssoToken) {
         reportUrl = baseUrl + "/flow.html" + "?viewAsDashboardFrame=true"; 
//$NON-NLS-1$ //$NON-NLS-2$
-        htmlParams.setParameter("sessionID", sessionID); //$NON-NLS-1$
+        htmlParams.setParameter("sessionID", ssoToken); //$NON-NLS-1$
 
         setFlowId();
 
@@ -108,7 +106,7 @@
 
     public void refreshReportModel() {
         SystemTreeItemModel treeItemModel =
-                ((SystemTreeItemModel) 
CommonModel.getInstance().getSystemTree().getSelectedItem());
+                (CommonModel.getInstance().getSystemTree().getSelectedItem());
         if (treeItemModel == null) {
             return;
         }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
index 6659101..4e57415 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
@@ -96,6 +96,7 @@
     protected void initFrontend() {
         super.initFrontend();
 
+        ReportInit.getInstance().initHandlers(eventBus);
         // Configure REST API integration for UI plugin infrastructure
         frontend.setLoginHandler(new FrontendLoginHandler() {
             @Override


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

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

Reply via email to