Frank Kobzik has uploaded a new change for review.

Change subject: userportal: Auto-Connect to RDP on Win 8 and Win 2012-64bit
......................................................................

userportal: Auto-Connect to RDP on Win 8 and Win 2012-64bit

Connect automatically doesn't take in effect that for Windows 8/2012 RDP is
default.

Steps to Reproduce:
1. Windows 8/2012 VM for user in the UP
2. Connect with auto-connect enabled from the login screen

Spice console appears instead of RDP one.
(As there is performance issue with unaccelerated SPICE console, RDP was agreed
to be default for Windows 8/2012. So make auto-connect to check this
correctly.)

Fixed by utilizing ConsoleUtils and ConsoleManager classes which are used for
connecting to console in regular use case. These classes take into account
that spice is unsupported on the mentioned platforms.

Change-Id: I33d8e4b4701f25bb64a7410512f17c266f872a86
Signed-off-by: Frantisek Kobzik <[email protected]>
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=918605
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalBasicListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/utils/ConnectAutomaticallyManager.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/basic/ConsoleUtils.java
4 files changed, 23 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/18/13218/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalBasicListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalBasicListModel.java
index 3c63784..5c9c9f5 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalBasicListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalBasicListModel.java
@@ -324,8 +324,7 @@
 
             // In userportal 'Basic View': Set 'CanConnectAutomatically' to 
true if there's one and only one VM in
             // status 'UP' and the other VMs aren't up.
-            setCanConnectAutomatically(GetStatusUpVms(items).size() == 1 && 
GetUpVms(items).size() == 1
-                    && 
GetStatusUpVms(items).get(0).getDefaultConsole().getConnectCommand().getIsExecutionAllowed());
+            setCanConnectAutomatically(GetStatusUpVms(items).size() == 1 && 
GetUpVms(items).size() == 1);
 
             setItems(items);
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
index 0cf56da..19351c4 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
@@ -1789,8 +1789,7 @@
             }
 
             // In userportal 'Extended View': Set 'CanConnectAutomatically' to 
true if there's one and only one up VM.
-            setCanConnectAutomatically(GetUpVms(items).size() == 1
-                    && 
GetUpVms(items).get(0).getDefaultConsole().getConnectCommand().getIsExecutionAllowed());
+            setCanConnectAutomatically(GetUpVms(items).size() == 1);
 
             setItems(items);
 
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/utils/ConnectAutomaticallyManager.java
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/utils/ConnectAutomaticallyManager.java
index 3d1d60d..3f1910c 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/utils/ConnectAutomaticallyManager.java
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/utils/ConnectAutomaticallyManager.java
@@ -3,12 +3,14 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.ovirt.engine.ui.uicommonweb.models.userportal.ConsoleProtocol;
 import org.ovirt.engine.ui.uicommonweb.models.userportal.IUserPortalListModel;
 import org.ovirt.engine.ui.uicommonweb.models.userportal.UserPortalItemModel;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.EventArgs;
 import org.ovirt.engine.ui.uicompat.IEventListener;
 import 
org.ovirt.engine.ui.userportal.section.login.presenter.ConnectAutomaticallyProvider;
+import org.ovirt.engine.ui.userportal.widget.basic.ConsoleUtils;
 
 import com.google.gwt.event.shared.EventBus;
 import com.google.inject.Inject;
@@ -29,9 +31,18 @@
 
     private List<EventChangeListener> listeners;
 
+    private final ConsoleManager consoleManager;
+
+    private final ConsoleUtils consoleUtils;
+
     @Inject
-    public ConnectAutomaticallyManager(ConnectAutomaticallyProvider 
connectAutomatically, EventBus eventBus) {
+    public ConnectAutomaticallyManager(ConnectAutomaticallyProvider 
connectAutomatically,
+            ConsoleUtils consoleUtils,
+            ConsoleManager consoleManager,
+            EventBus eventBus) {
         this.connectAutomatically = connectAutomatically;
+        this.consoleManager = consoleManager;
+        this.consoleUtils = consoleUtils;
     }
 
     public void resetAlreadyOpened() {
@@ -85,7 +96,9 @@
             if (connectAutomatically.readConnectAutomatically() && 
model.getCanConnectAutomatically() && !alreadyOpened) {
                 UserPortalItemModel userPortalItemModel = 
model.GetUpVms(model.getItems()).get(0);
                 if (userPortalItemModel != null) {
-                    
userPortalItemModel.getDefaultConsole().getConnectCommand().Execute();
+                    ConsoleProtocol selectedProtocol = 
consoleUtils.determineConnectionProtocol(userPortalItemModel);
+                    consoleManager.connectToConsole(selectedProtocol, 
userPortalItemModel);
+
                     alreadyOpened = true;
                 }
             }
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/basic/ConsoleUtils.java
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/basic/ConsoleUtils.java
index 495b2a9..765d4a7 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/basic/ConsoleUtils.java
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/basic/ConsoleUtils.java
@@ -8,7 +8,7 @@
 import org.ovirt.engine.ui.uicommonweb.models.vms.ConsoleModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.SpiceConsoleModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.VncConsoleModel;
-import org.ovirt.engine.ui.userportal.gin.ClientGinjectorProvider;
+import org.ovirt.engine.ui.userportal.ApplicationConstants;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.regexp.shared.MatchResult;
@@ -20,17 +20,13 @@
     private Boolean spiceAvailable;
     private Boolean rdpAvailable;
 
-    private static final String VNC_NOT_SUPPORTED_MESSAGE =
-            
ClientGinjectorProvider.instance().getApplicationConstants().vncNotSupportedMsg();
-
-    private static final String BROWSER_NOT_SUPPORTED_MESSAGE =
-            
ClientGinjectorProvider.instance().getApplicationConstants().browserNotSupportedMsg();
-
     private final ClientAgentType clientAgentType;
+    private final ApplicationConstants constants;
 
     @Inject
-    public ConsoleUtils(ClientAgentType clientAgentType) {
+    public ConsoleUtils(ClientAgentType clientAgentType, ApplicationConstants 
constants) {
         this.clientAgentType = clientAgentType;
+        this.constants = constants;
     }
 
     public boolean isSpiceAvailable() {
@@ -96,14 +92,14 @@
         }
 
         if (!(isRDPAvailable() || isSpiceAvailable())) {
-            return BROWSER_NOT_SUPPORTED_MESSAGE;
+            return constants.browserNotSupportedMsg();
         }
 
         boolean isSpice = item.getDefaultConsole() instanceof 
SpiceConsoleModel && isSpiceAvailable();
         boolean isRdp = item.getHasAdditionalConsole() && isRDPAvailable();
 
         if (!isSpice && !isRdp) {
-            return VNC_NOT_SUPPORTED_MESSAGE;
+            return constants.vncNotSupportedMsg();
         }
 
         return ""; //$NON-NLS-1$


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

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

Reply via email to