Frank Kobzik has uploaded a new change for review.

Change subject: engine: Phase 1: Move console options to backend
......................................................................

engine: Phase 1: Move console options to backend

This is the 1st step for generating .vv files on backend. The patch
extracts the ConsoleOptions class to backend.

Changes:
- Add ConsoleOptions class. It contains settings for both SPICE and VNC
  protocols (Instead of storing/duplicating them in AbstractSpice /
  AbstractVnc).
- Delegating console settings in AbstractSpice and AbstractVnc to
  ConsoleOptions class (in the next follow up, console clients will use
  ConsoleOptions directly).
- Extracted ticket validity timeout to constant as this parameter is not
  changing. This eliminates some spaghetti code. When we need variable
  timeout, this can be easily changed.
- Same goes for secure attention mapping hotkey (aka "remap
  ctrl-alt-del" to "ctrl-alt-end"). It's not configurable so far so
  there is no need to maintain the code which does nothing.
- unified common options between VNC and SPICE (like host, port, title
  etc.).

Change-Id: Ib06110fd2b36f96f1baa55b6176240cd27a2cbf9
Signed-off-by: Frantisek Kobzik <fkob...@redhat.com>
Bug-Url: https://bugzilla.redhat.com/1128763
---
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/console/ConsoleOptions.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/popup/ConsolePopupPresenterWidget.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/AbstractSpice.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/AbstractVnc.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/SpiceHtml5Impl.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/VncNativeImpl.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/ConsoleUtilsImpl.java
M 
frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ConsoleUtils.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ISpice.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/IVnc.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VncConsoleModel.java
D 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WANDisableEffects.java
D 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WanColorDepth.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/UserPortalConfigurator.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/WebAdminConfigurator.java
17 files changed, 547 insertions(+), 226 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/72/37972/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/console/ConsoleOptions.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/console/ConsoleOptions.java
new file mode 100644
index 0000000..f1e6945
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/console/ConsoleOptions.java
@@ -0,0 +1,421 @@
+package org.ovirt.engine.core.common.console;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import org.ovirt.engine.core.common.businessentities.GraphicsType;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.compat.StringHelper;
+
+public class ConsoleOptions implements Serializable{
+
+    private Guid vmId;
+    private GraphicsType graphicsType;
+
+    // general
+    private String host;
+    private Integer port;
+    private String ticket;
+    private String title;
+    private boolean remapCtrlAltDelete;
+    private String toggleFullscreenHotKey;
+    private String releaseCursorHotKey;
+
+    // spice
+    private boolean fullScreen;
+    private int numberOfMonitors;
+    private int usbListenPort;
+    private boolean usbAutoShare;
+    protected String usbFilter;
+    private boolean adminConsole;
+    private String guestHostName;
+    private int securePort;
+    private String sslChanels;
+    private String cipherSuite;
+    private String hostSubject;
+    private String trustStore;
+    private String[] localizedStrings;
+    private String menu;
+    private boolean noTaskMgrExecution;
+    private WanColorDepth wanColorDepth;
+    private boolean wanOptionsEnabled;
+    private boolean smartcardEnabled = false;
+    private String spiceProxy = null;
+    private int ticketValiditySeconds;
+    // the user can choose to disable the smartcard even when it is enabled, 
but can not choose to enable it, when it is
+    // disabled
+    private boolean smartcardEnabledOverridden = false;
+    // even the spice proxy is globally configured, user can choose to disable 
it for specific VM
+    private boolean spiceProxyEnabled;
+    private List<WanDisableEffects> wanDisableEffects;
+
+    public static final int TICKET_VALIDITY_SECONDS = 120;
+    public static final String SECURE_ATTENTION_MAPPING = "ctrl+alt+end";// 
$NON-NLS-1$
+
+    public ConsoleOptions(GraphicsType graphicsType) {
+        this.graphicsType = graphicsType;
+        setWanDisableEffects(new ArrayList<WanDisableEffects>());
+        setWanColorDepth(WanColorDepth.depth16);
+        setWanOptionsEnabled(false);
+        setRemapCtrlAltDelete(true);
+        setNoTaskMgrExecution(false);
+    }
+
+    public Guid getVmId() {
+        return vmId;
+    }
+
+    public void setVmId(Guid vmId) {
+        this.vmId = vmId;
+    }
+
+    public GraphicsType getGraphicsType() {
+        return graphicsType;
+    }
+
+    public void setGraphicsType(GraphicsType graphicsType) {
+        this.graphicsType = graphicsType;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getHost() {
+        return host;
+    }
+
+    public Integer getPort() {
+        return port;
+    }
+
+    public String getTicket() {
+        return ticket;
+    }
+
+    public void setHost(String host) {
+        this.host = host;
+    }
+
+    public void setPort(Integer port) {
+        this.port = port;
+    }
+
+    public void setTicket(String ticket) {
+        this.ticket = ticket;
+    }
+
+    public boolean isRemapCtrlAltDelete() {
+        return remapCtrlAltDelete;
+    }
+
+    public void setRemapCtrlAltDelete(boolean remapCtrlAltDelete) {
+        this.remapCtrlAltDelete = remapCtrlAltDelete;
+    }
+
+    public String getToggleFullscreenHotKey() {
+        return toggleFullscreenHotKey;
+    }
+
+    public void setToggleFullscreenHotKey(String toggleFullscreenHotKey) {
+        this.toggleFullscreenHotKey = toggleFullscreenHotKey;
+    }
+
+    public String getReleaseCursorHotKey() {
+        return releaseCursorHotKey;
+    }
+
+    public void setReleaseCursorHotKey(String releaseCursorHotKey) {
+        this.releaseCursorHotKey = releaseCursorHotKey;
+    }
+
+    public boolean isFullScreen() {
+        return fullScreen;
+    }
+
+    public void setFullScreen(boolean fullScreen) {
+        this.fullScreen = fullScreen;
+    }
+
+    public int getNumberOfMonitors() {
+        return numberOfMonitors;
+    }
+
+    public void setNumberOfMonitors(int numberOfMonitors) {
+        this.numberOfMonitors = numberOfMonitors;
+    }
+
+    public int getUsbListenPort() {
+        return usbListenPort;
+    }
+
+    public void setUsbListenPort(int usbListenPort) {
+        this.usbListenPort = usbListenPort;
+    }
+
+    public boolean isUsbAutoShare() {
+        return usbAutoShare;
+    }
+
+    public void setUsbAutoShare(boolean usbAutoShare) {
+        this.usbAutoShare = usbAutoShare;
+    }
+
+    public String getUsbFilter() {
+        return usbFilter;
+    }
+
+    public void setUsbFilter(String usbFilter) {
+        this.usbFilter = usbFilter;
+    }
+
+    public boolean isAdminConsole() {
+        return adminConsole;
+    }
+
+    public void setAdminConsole(boolean adminConsole) {
+        this.adminConsole = adminConsole;
+    }
+
+    public String getGuestHostName() {
+        return guestHostName;
+    }
+
+    public void setGuestHostName(String guestHostName) {
+        this.guestHostName = guestHostName;
+    }
+
+    public int getSecurePort() {
+        return securePort & 0xffff;
+    }
+
+    public void setSecurePort(int securePort) {
+        this.securePort = securePort;
+    }
+
+    public String getSslChanels() {
+        return sslChanels;
+    }
+
+    public void setSslChanels(String sslChanels) {
+        this.sslChanels = adjustLegacySecureChannels(sslChanels);
+    }
+
+    public String getCipherSuite() {
+        return cipherSuite;
+    }
+
+    public void setCipherSuite(String cipherSuite) {
+        this.cipherSuite = cipherSuite;
+    }
+
+    public String getHostSubject() {
+        return hostSubject;
+    }
+
+    public void setHostSubject(String hostSubject) {
+        this.hostSubject = hostSubject;
+    }
+
+    public String getTrustStore() {
+        return trustStore;
+    }
+
+    public void setTrustStore(String trustStore) {
+        this.trustStore = trustStore;
+    }
+
+    public String[] getLocalizedStrings() {
+        return localizedStrings;
+    }
+
+    public void setLocalizedStrings(String[] localizedStrings) {
+        this.localizedStrings = localizedStrings;
+    }
+
+    public String getMenu() {
+        return menu;
+    }
+
+    public void setMenu(String menu) {
+        this.menu = menu;
+    }
+
+    public boolean isNoTaskMgrExecution() {
+        return noTaskMgrExecution;
+    }
+
+    public void setNoTaskMgrExecution(boolean noTaskMgrExecution) {
+        this.noTaskMgrExecution = noTaskMgrExecution;
+    }
+
+    public WanColorDepth getWanColorDepth() {
+        return wanColorDepth;
+    }
+
+    public int colorDepthAsInt() {
+        if (getWanColorDepth() != null) {
+            return getWanColorDepth().asInt();
+        }
+
+        return ConsoleOptions.WanColorDepth.depth16.asInt();
+    }
+
+    public void setWanColorDepth(WanColorDepth wanColorDepth) {
+        this.wanColorDepth = wanColorDepth;
+    }
+
+    public boolean isWanOptionsEnabled() {
+        return wanOptionsEnabled;
+    }
+
+    public void setWanOptionsEnabled(boolean wanOptionsEnabled) {
+        this.wanOptionsEnabled = wanOptionsEnabled;
+    }
+
+    public boolean isSmartcardEnabled() {
+        return smartcardEnabled;
+    }
+
+    public void setSmartcardEnabled(boolean smartcardEnabled) {
+        this.smartcardEnabled = smartcardEnabled;
+    }
+
+    public boolean passSmartcardOption() {
+        return isSmartcardEnabled() && !isSmartcardEnabledOverridden();
+    }
+
+    public String getSpiceProxy() {
+        return spiceProxy;
+    }
+
+    public void setSpiceProxy(String spiceProxy) {
+        this.spiceProxy = spiceProxy;
+    }
+
+    public int getTicketValiditySeconds() {
+        return ticketValiditySeconds;
+    }
+
+    public void setTicketValiditySeconds(int ticketValiditySeconds) {
+        this.ticketValiditySeconds = ticketValiditySeconds;
+    }
+
+    /**
+     * Returns true if the user has choosen to disable the smartcard even it 
is by default enabled
+     */
+    public boolean isSmartcardEnabledOverridden() {
+        return smartcardEnabledOverridden;
+    }
+
+    public void setSmartcardEnabledOverridden(boolean 
smartcardEnabledOverridden) {
+        this.smartcardEnabledOverridden = smartcardEnabledOverridden;
+    }
+
+    public boolean isSpiceProxyEnabled() {
+        return spiceProxyEnabled;
+    }
+
+    public void setSpiceProxyEnabled(boolean spiceProxyEnabled) {
+        this.spiceProxyEnabled = spiceProxyEnabled;
+    }
+
+    public List<WanDisableEffects> getWanDisableEffects() {
+        return wanDisableEffects;
+    }
+
+    public void setWanDisableEffects(List<WanDisableEffects> 
wanDisableEffects) {
+        this.wanDisableEffects = wanDisableEffects;
+    }
+
+
+    public enum WanColorDepth {
+        depth16(16),
+        depth32(32);
+        private final int depth;
+
+        private WanColorDepth(int depth) {
+            this.depth = depth;
+        }
+        public static WanColorDepth fromInt(int integerDepth) {
+            for (WanColorDepth value : values()) {
+                if (value.depth == integerDepth) {
+                    return value;
+                }
+            }
+
+            throw new IllegalArgumentException("Illegal int value: " + 
integerDepth); //$NON-NLS-1$
+        }
+        public int asInt() {
+            return depth;
+        }
+    }
+
+    public enum WanDisableEffects {
+        animation("animation"), //$NON-NLS-1$
+        wallpaper("wallpaper"), //$NON-NLS-1$
+        fontSmooth("font-smooth"), //$NON-NLS-1$
+        all("all"); //$NON-NLS-1$
+
+        private final String stringValue;
+
+        private WanDisableEffects(String stringValue) {
+            this.stringValue = stringValue;
+        }
+
+        public static WanDisableEffects fromString(String str) {
+            for (WanDisableEffects value : values()) {
+                if (value.stringValue.equals(str)) {
+                    return value;
+                }
+            }
+
+            throw new IllegalArgumentException("Illegal string value: " + 
str);//$NON-NLS-1$
+        }
+
+        public String asString() {
+            return stringValue;
+        }
+    }
+
+    /**
+     * Reformat secure channels string if they are in legacy ('s'-prefixed) 
format.
+     * @param legacySecureChannels (e.g. "smain,sinput")
+     * @return secure channels in correct format (e.g. "main,input")
+     */
+    static String adjustLegacySecureChannels(String legacySecureChannels) {
+        if (StringHelper.isNullOrEmpty(legacySecureChannels)) {
+            return legacySecureChannels;
+        }
+
+        String secureChannels = legacySecureChannels;
+        List<String> legacyChannels = Arrays.asList(
+                new String[]{"smain", "sdisplay", "sinputs", "scursor", 
"splayback", "srecord", "ssmartcard", "susbredir"}); // $NON-NLS-1$ $NON-NLS-2$ 
$NON-NLS-3$ $NON-NLS-4$ $NON-NLS-5$ $NON-NLS-6$ $NON-NLS-7$ $NON-NLS-8$
+
+        for (String channel : legacyChannels) {
+            secureChannels = secureChannels.replace(channel, 
channel.substring(1));
+        }
+
+        return secureChannels;
+    }
+
+    public String disableEffectsAsString() {
+        StringBuffer disableEffectsBuffer = new StringBuffer("");
+        int countdown = getWanDisableEffects().size();
+        for (ConsoleOptions.WanDisableEffects disabledEffect : 
getWanDisableEffects()) {
+            disableEffectsBuffer.append(disabledEffect.asString());
+
+            if (countdown != 1) {
+                disableEffectsBuffer.append(", "); //$NON-NLS-1$
+            }
+            countdown--;
+        }
+
+        return disableEffectsBuffer.toString();
+    }
+}
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/popup/ConsolePopupPresenterWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/popup/ConsolePopupPresenterWidget.java
index 229054a..737c841 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/popup/ConsolePopupPresenterWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/popup/ConsolePopupPresenterWidget.java
@@ -4,6 +4,7 @@
 import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.user.client.Window;
+import org.ovirt.engine.core.common.console.ConsoleOptions;
 import org.ovirt.engine.ui.common.CommonApplicationConstants;
 import 
org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget;
 import org.ovirt.engine.ui.common.utils.DynamicMessages;
@@ -148,7 +149,7 @@
                 : model.getVmConsoles().getVm().getVmPoolName(); // for pool 
dialogs display pool name
 
         getView().setVmName(vmName);
-        
getView().setCtrlAltDeleteRemapHotkey(consoleUtils.getRemapCtrlAltDelHotkey());
+        
getView().setCtrlAltDeleteRemapHotkey(ConsoleOptions.SECURE_ATTENTION_MAPPING);
 
         super.init(model);
     }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/AbstractSpice.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/AbstractSpice.java
index a7f77c0..646e039 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/AbstractSpice.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/AbstractSpice.java
@@ -4,17 +4,19 @@
 import java.util.Arrays;
 import java.util.List;
 
+import org.ovirt.engine.core.common.businessentities.GraphicsType;
+import org.ovirt.engine.core.common.console.ConsoleOptions;
 import org.ovirt.engine.core.compat.StringHelper;
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.ui.uicommonweb.ConsoleUtils;
 import org.ovirt.engine.ui.uicommonweb.TypeResolver;
 import org.ovirt.engine.ui.uicommonweb.models.vms.SpiceConsoleModel;
-import org.ovirt.engine.ui.uicommonweb.models.vms.WANDisableEffects;
-import org.ovirt.engine.ui.uicommonweb.models.vms.WanColorDepth;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.EventArgs;
 
 public abstract class AbstractSpice {
+
+    protected final ConsoleOptions consoleOptions = new 
ConsoleOptions(GraphicsType.SPICE);
 
     protected Event<EventArgs> disconnectedEvent = new Event<EventArgs>(
             SpiceConsoleModel.spiceDisconnectedEventDefinition);
@@ -31,71 +33,31 @@
 
     protected Version currentVersion = new Version(4, 4);
     protected Version desiredVersion = new Version(4, 4);
-    protected int port;
-    protected String host;
-    protected boolean fullScreen;
-    protected String password;
-    protected int numberOfMonitors;
-    protected int usbListenPort;
-    protected boolean adminConsole;
-    protected String guestHostName;
-    protected int securePort;
-    protected String sslChanels;
-    protected String cipherSuite;
-    protected String hostSubject;
-    protected String trustStore;
-    protected String title;
-    protected String toggleFullscreenHotKey;
-    protected String releaseCursorHotKey;
-    protected String[] localizedStrings;
-    protected String menu;
+
     protected String guestID;
-    protected boolean noTaskMgrExecution;
-    protected boolean remapCtrlAltDelete;
-    protected boolean usbAutoShare;
-    protected String usbFilter;
-    protected WanColorDepth wanColorDepth;
-    protected List<WANDisableEffects> wanDisableEffects;
-    protected boolean wanOptionsEnabled;
+
     ClientAgentType cat = new ClientAgentType();
     protected String spiceBaseURL;
-    protected boolean smartcardEnabled = false;
-    protected String spiceProxy = null;
-    private int ticketValiditySeconds;
-
-    // the user can choose to disable the smartcard even when it is enabled, 
but can not choose to enable it, when it is
-    // disabled
-    protected boolean smartcardEnabledOverridden = false;
-
-    // even the spice proxy is globally configured, user can choose to disable 
it for specific VM
-    private boolean spiceProxyEnabled;
-
-    private final ConsoleUtils consoleUtils = (ConsoleUtils) 
TypeResolver.getInstance().resolve(ConsoleUtils.class);
 
     public AbstractSpice() {
-        setWANDisableEffects(new ArrayList<WANDisableEffects>());
-        setWanOptionsEnabled(false);
-        setWANColorDepth(WanColorDepth.depth16);
-        setRemapCtrlAltDel(true);
-        setNoTaskMgrExecution(false);
     }
 
-    public void setWANDisableEffects(List<WANDisableEffects> disableEffects) {
-        this.wanDisableEffects = disableEffects;
+    public void setWANDisableEffects(List<ConsoleOptions.WanDisableEffects> 
disableEffects) {
+        this.consoleOptions.setWanDisableEffects(disableEffects);
         getWANDisableEffectsChangeEvent().raise(this, EventArgs.EMPTY);
     }
 
-    public void setWANColorDepth(WanColorDepth colorDepth) {
-        this.wanColorDepth = colorDepth;
+    public void setWANColorDepth(ConsoleOptions.WanColorDepth colorDepth) {
+        this.consoleOptions.setWanColorDepth(colorDepth);
         getWANColorDepthChangedEvent().raise(this, EventArgs.EMPTY);
     }
 
-    public List<WANDisableEffects> getWANDisableEffects() {
-        return wanDisableEffects;
+    public List<ConsoleOptions.WanDisableEffects> getWANDisableEffects() {
+        return consoleOptions.getWanDisableEffects();
     }
 
-    public WanColorDepth getWANColorDepth() {
-        return wanColorDepth;
+    public ConsoleOptions.WanColorDepth getWANColorDepth() {
+        return consoleOptions.getWanColorDepth();
     }
 
     public Event<EventArgs> getWANDisableEffectsChangeEvent() {
@@ -160,83 +122,86 @@
     }
 
     public int getPort() {
-        return port;
+        Integer port = consoleOptions.getPort();
+        return port == null
+                ? 0
+                : port;
     }
 
     public void setPort(int port) {
-        this.port = port;
+        this.consoleOptions.setPort(port);
     }
 
     public String getHost() {
-        return host;
+        return consoleOptions.getHost();
     }
 
     public void setHost(String host) {
-        this.host = host;
+        this.consoleOptions.setHost(host);
     }
 
     public boolean isFullScreen() {
-        return fullScreen;
+        return consoleOptions.isFullScreen();
     }
 
     public void setFullScreen(boolean fullScreen) {
-        this.fullScreen = fullScreen;
+        this.consoleOptions.setFullScreen(fullScreen);
     }
 
     public String getPassword() {
-        return password;
+        return consoleOptions.getTicket();
     }
 
     public void setPassword(String password) {
-        this.password = password;
+        this.consoleOptions.setTicket(password);
     }
 
     public int getNumberOfMonitors() {
-        return numberOfMonitors;
+        return consoleOptions.getNumberOfMonitors();
     }
 
     public void setNumberOfMonitors(int numberOfMonitors) {
-        this.numberOfMonitors = numberOfMonitors;
+        this.consoleOptions.setNumberOfMonitors(numberOfMonitors);
     }
 
     public int getUsbListenPort() {
-        return usbListenPort;
+        return consoleOptions.getUsbListenPort();
     }
 
     public void setUsbListenPort(int usbListenPort) {
-        this.usbListenPort = usbListenPort;
+        this.consoleOptions.setUsbListenPort(usbListenPort);
     }
 
     public boolean isAdminConsole() {
-        return adminConsole;
+        return consoleOptions.isAdminConsole();
     }
 
     public void setAdminConsole(boolean adminConsole) {
-        this.adminConsole = adminConsole;
+        this.consoleOptions.setAdminConsole(adminConsole);
     }
 
     public String getGuestHostName() {
-        return guestHostName;
+        return consoleOptions.getGuestHostName();
     }
 
     public void setGuestHostName(String guestHostName) {
-        this.guestHostName = guestHostName;
+        this.consoleOptions.setGuestHostName(guestHostName);
     }
 
     public int getSecurePort() {
-        return securePort & 0xffff;
+        return consoleOptions.getSecurePort() & 0xffff;
     }
 
     public void setSecurePort(int securePort) {
-        this.securePort = securePort;
+        this.consoleOptions.setSecurePort(securePort);
     }
 
     public String getSslChanels() {
-        return sslChanels;
+        return consoleOptions.getSslChanels();
     }
 
     public void setSslChanels(String sslChanels) {
-        this.sslChanels = adjustLegacySecureChannels(sslChanels);
+        
this.consoleOptions.setSslChanels(adjustLegacySecureChannels(sslChanels));
     }
 
     /**
@@ -261,67 +226,67 @@
     }
 
     public String getCipherSuite() {
-        return cipherSuite;
+        return consoleOptions.getCipherSuite();
     }
 
     public void setCipherSuite(String cipherSuite) {
-        this.cipherSuite = cipherSuite;
+        this.consoleOptions.setCipherSuite(cipherSuite);
     }
 
     public String getHostSubject() {
-        return hostSubject;
+        return consoleOptions.getHostSubject();
     }
 
     public void setHostSubject(String hostSubject) {
-        this.hostSubject = hostSubject;
+        this.consoleOptions.setHostSubject(hostSubject);
     }
 
     public String getTrustStore() {
-        return trustStore;
+        return consoleOptions.getTrustStore();
     }
 
     public void setTrustStore(String trustStore) {
-        this.trustStore = trustStore;
+        this.consoleOptions.setTrustStore(trustStore);
     }
 
     public String getTitle() {
-        return title;
+        return consoleOptions.getTitle();
     }
 
     public void setTitle(String title) {
-        this.title = title;
+        this.consoleOptions.setTitle(title);
     }
 
     public String getToggleFullscreenHotKey() {
-        return toggleFullscreenHotKey;
+        return consoleOptions.getToggleFullscreenHotKey();
     }
 
     public void setToggleFullscreenHotKey(String toggleFullscreenHotKey) {
-        this.toggleFullscreenHotKey = toggleFullscreenHotKey;
+        this.consoleOptions.setToggleFullscreenHotKey(toggleFullscreenHotKey);
     }
 
     public String getReleaseCursorHotKey() {
-        return releaseCursorHotKey;
+        return consoleOptions.getReleaseCursorHotKey();
     }
 
     public void setReleaseCursorHotKey(String releaseCursorHotKey) {
-        this.releaseCursorHotKey = releaseCursorHotKey;
+        this.consoleOptions.setReleaseCursorHotKey(releaseCursorHotKey);
     }
 
     public String[] getLocalizedStrings() {
-        return localizedStrings;
+        return consoleOptions.getLocalizedStrings();
     }
 
     public void setLocalizedStrings(String[] localizedStrings) {
-        this.localizedStrings = localizedStrings;
+        this.consoleOptions.setLocalizedStrings(localizedStrings);
     }
 
     public String getMenu() {
-        return menu;
+        return consoleOptions.getMenu();
     }
 
     public void setMenu(String menu) {
-        this.menu = menu;
+        this.consoleOptions.setMenu(menu);
     }
 
     public String getGuestID() {
@@ -333,36 +298,36 @@
     }
 
     public boolean getNoTaskMgrExecution() {
-        return noTaskMgrExecution;
+        return consoleOptions.isNoTaskMgrExecution();
     }
 
     public void setNoTaskMgrExecution(boolean noTaskMgrExecution) {
-        this.noTaskMgrExecution = noTaskMgrExecution;
+        this.consoleOptions.setNoTaskMgrExecution(noTaskMgrExecution);
     }
 
     public boolean isRemapCtrlAltDel() {
-        return remapCtrlAltDelete;
+        return consoleOptions.isRemapCtrlAltDelete();
     }
 
     public void setRemapCtrlAltDel(boolean remapCtrlAltDelete) {
-        this.remapCtrlAltDelete = remapCtrlAltDelete;
+        this.consoleOptions.setRemapCtrlAltDelete(remapCtrlAltDelete);
     }
 
     public boolean getUsbAutoShare() {
-        return usbAutoShare;
+        return consoleOptions.isUsbAutoShare();
     }
 
     public void setUsbAutoShare(boolean usbAutoShare) {
-        this.usbAutoShare = usbAutoShare;
+        this.consoleOptions.setUsbAutoShare(usbAutoShare);
         getUsbAutoShareChangedEvent().raise(this, EventArgs.EMPTY);
     }
 
     public String getUsbFilter() {
-        return usbFilter;
+        return consoleOptions.getUsbFilter();
     }
 
     public void setUsbFilter(String usbFilter) {
-        this.usbFilter = usbFilter;
+        consoleOptions.setUsbFilter(usbFilter);
     }
 
     public String getSpiceBaseURL() {
@@ -378,11 +343,11 @@
     }
 
     public boolean isSmartcardEnabled() {
-        return smartcardEnabled;
+        return consoleOptions.isSmartcardEnabled();
     }
 
     public void setSmartcardEnabled(boolean smartcardEnabled) {
-        this.smartcardEnabled = smartcardEnabled;
+        this.consoleOptions.setSmartcardEnabled(smartcardEnabled);
     }
 
     protected int colorDepthAsInt() {
@@ -390,32 +355,32 @@
             return getWANColorDepth().asInt();
         }
 
-        return WanColorDepth.depth16.asInt();
+        return ConsoleOptions.WanColorDepth.depth16.asInt();
     }
 
     public boolean isWanOptionsEnabled() {
-        return wanOptionsEnabled;
+        return consoleOptions.isWanOptionsEnabled();
     }
 
     public void setWanOptionsEnabled(boolean wanOptionsEnabled) {
-        this.wanOptionsEnabled = wanOptionsEnabled;
+        this.consoleOptions.setWanOptionsEnabled(wanOptionsEnabled);
     }
 
     public void setOverrideEnabledSmartcard(boolean enabled) {
-        this.smartcardEnabledOverridden = enabled;
+        this.consoleOptions.setSmartcardEnabledOverridden(enabled);
     }
 
     /**
      * Returns true if the user has choosen to disable the smartcard even it 
is by default enabled
      */
     public boolean isSmartcardEnabledOverridden() {
-        return this.smartcardEnabledOverridden;
+        return this.consoleOptions.isSmartcardEnabledOverridden();
     }
 
     protected String disableEffectsAsString() {
         StringBuffer disableEffectsBuffer = new StringBuffer("");
         int countdown = getWANDisableEffects().size();
-        for (WANDisableEffects disabledEffect : getWANDisableEffects()) {
+        for (ConsoleOptions.WanDisableEffects disabledEffect : 
getWANDisableEffects()) {
             disableEffectsBuffer.append(disabledEffect.asString());
 
             if (countdown != 1) {
@@ -428,30 +393,30 @@
     }
 
     public String getSpiceProxy() {
-        return spiceProxy;
+        return consoleOptions.getSpiceProxy();
     }
 
     public void setSpiceProxy(String spiceProxy) {
-        this.spiceProxy = spiceProxy;
+        this.consoleOptions.setSpiceProxy(spiceProxy);
     }
 
     public void setSpiceProxyEnabled(boolean enabled) {
-        this.spiceProxyEnabled = enabled;
+        this.consoleOptions.setSpiceProxyEnabled(enabled);
     }
 
     public boolean isSpiceProxyEnabled() {
-        return spiceProxyEnabled;
+        return consoleOptions.isSpiceProxyEnabled();
     }
 
     protected String getSecureAttentionMapping() {
-        return consoleUtils.getRemapCtrlAltDelHotkey();
+        return ConsoleOptions.SECURE_ATTENTION_MAPPING;
     }
 
     public int getTicketValiditySeconds() {
-        return ticketValiditySeconds;
+        return consoleOptions.getTicketValiditySeconds();
     }
 
     public void setTicketValiditySeconds(int ticketValiditySeconds) {
-        this.ticketValiditySeconds = ticketValiditySeconds;
+        this.consoleOptions.setTicketValiditySeconds(ticketValiditySeconds);
     }
 }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/AbstractVnc.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/AbstractVnc.java
index 9fbb42b..7e8afaf 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/AbstractVnc.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/AbstractVnc.java
@@ -1,91 +1,79 @@
 package org.ovirt.engine.ui.common.uicommon;
 
-import org.ovirt.engine.ui.uicommonweb.ConsoleUtils;
-import org.ovirt.engine.ui.uicommonweb.TypeResolver;
+import org.ovirt.engine.core.common.businessentities.GraphicsType;
+import org.ovirt.engine.core.common.console.ConsoleOptions;
 
 public class AbstractVnc {
 
-    private String vncHost;
-    private String vncPort;
-    private String ticket;
-    private String title;
-    private boolean remapCtrlAltDelete;
-
-    private final ConsoleUtils consoleUtils = (ConsoleUtils) 
TypeResolver.getInstance().resolve(ConsoleUtils.class);
-    private int ticketValiditySeconds;
-    private String toggleFullscreenHotKey;
-    private String releaseCursorHotKey;
+    private final ConsoleOptions consoleOptions = new 
ConsoleOptions(GraphicsType.VNC);
 
     public AbstractVnc() {
-        setRemapCtrlAltDelete(true);
+        consoleOptions.setRemapCtrlAltDelete(true);
     }
 
     public String getTitle() {
-        return title;
+        return consoleOptions.getTitle();
     }
 
     public void setTitle(String title) {
-        this.title = title;
+        consoleOptions.setTitle(title);
     }
 
     public String getVncHost() {
-        return vncHost;
+        return consoleOptions.getHost();
     }
 
     public String getVncPort() {
-        return vncPort;
+        Integer port = consoleOptions.getPort();
+        return (port == null)
+                ? null
+                : port.toString();
     }
 
     public String getTicket() {
-        return ticket;
+        return consoleOptions.getTicket();
     }
 
     public void setVncHost(String vncHost) {
-        this.vncHost = vncHost;
+        consoleOptions.setHost(vncHost);
     }
 
     public void setVncPort(String vncPort) {
-        this.vncPort = vncPort;
+        consoleOptions.setPort((vncPort == null)
+                ? null
+                : Integer.parseInt(vncPort));
     }
 
     public void setTicket(String ticket) {
-        this.ticket = ticket;
+        consoleOptions.setTicket(ticket);
     }
 
     public boolean isRemapCtrlAltDelete() {
-        return remapCtrlAltDelete;
+        return consoleOptions.isRemapCtrlAltDelete();
     }
 
     public void setRemapCtrlAltDelete(boolean remapCtrlAltDelete) {
-        this.remapCtrlAltDelete = remapCtrlAltDelete;
+        consoleOptions.setRemapCtrlAltDelete(remapCtrlAltDelete);
     }
 
     protected String getSecureAttentionMapping() {
-        return consoleUtils.getRemapCtrlAltDelHotkey();
-    }
-
-    public int getTicketValiditySeconds() {
-        return ticketValiditySeconds;
-    }
-
-    public void setTicketValiditySeconds(int ticketValiditySeconds) {
-        this.ticketValiditySeconds = ticketValiditySeconds;
+        return ConsoleOptions.SECURE_ATTENTION_MAPPING;
     }
 
     public String getToggleFullscreenHotKey() {
-        return toggleFullscreenHotKey;
+        return consoleOptions.getToggleFullscreenHotKey();
     }
 
     public void setToggleFullscreenHotKey(String toggleFullscreenHotKey) {
-        this.toggleFullscreenHotKey = toggleFullscreenHotKey;
+        consoleOptions.setToggleFullscreenHotKey(toggleFullscreenHotKey);
     }
 
     public String getReleaseCursorHotKey() {
-        return releaseCursorHotKey;
+        return consoleOptions.getReleaseCursorHotKey();
     }
 
     public void setReleaseCursorHotKey(String releaseCursorHotKey) {
-        this.releaseCursorHotKey = releaseCursorHotKey;
+        consoleOptions.setReleaseCursorHotKey(releaseCursorHotKey);
     }
 
 }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/SpiceHtml5Impl.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/SpiceHtml5Impl.java
index 1243151..c53096b 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/SpiceHtml5Impl.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/SpiceHtml5Impl.java
@@ -20,8 +20,8 @@
 
     @Override
     public void connect() {
-        boolean sslTarget = securePort == -1 ? false : true;
-        WebClientConsoleInvoker invoker = new 
WebClientConsoleInvoker(CLIENT_PAGE, config, getHost(), 
String.valueOf(sslTarget ? securePort : port), getPassword(), sslTarget);
+        boolean sslTarget = consoleOptions.getSecurePort() == -1 ? false : 
true;
+        WebClientConsoleInvoker invoker = new 
WebClientConsoleInvoker(CLIENT_PAGE, config, getHost(), 
String.valueOf(sslTarget ? consoleOptions.getSecurePort() : 
consoleOptions.getPort()), getPassword(), sslTarget);
         invoker.invokeClient();
     }
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/VncNativeImpl.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/VncNativeImpl.java
index 9d57e6e..bb47bc9 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/VncNativeImpl.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/VncNativeImpl.java
@@ -1,5 +1,6 @@
 package org.ovirt.engine.ui.common.uicommon;
 
+import org.ovirt.engine.core.common.console.ConsoleOptions;
 import org.ovirt.engine.core.compat.StringHelper;
 import org.ovirt.engine.ui.uicommonweb.models.vms.ConsoleModel;
 import org.ovirt.engine.ui.uicommonweb.models.vms.IVnc;
@@ -13,7 +14,8 @@
                 .append("\nhost=").append(getVncHost()) //$NON-NLS-1$
                 .append("\nport=").append(getVncPort()) //$NON-NLS-1$
                 .append("\npassword=").append(getTicket()) //$NON-NLS-1$
-                .append("\n# Password is valid for 
").append(getTicketValiditySeconds()).append(" seconds.") 
//$$NON-NLS-1$NON-NLS-2$
+                .append("\n# Password is valid for ") //$NON-NLS-1$
+                .append(ConsoleOptions.TICKET_VALIDITY_SECONDS).append(" 
seconds.") //$NON-NLS-1$
                 .append("\ndelete-this-file=1") //$NON-NLS-1$
                 .append("\ntitle=").append(getTitle()); //$NON-NLS-1$
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/ConsoleUtilsImpl.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/ConsoleUtilsImpl.java
index 11c27ce..0156e72 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/ConsoleUtilsImpl.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/ConsoleUtilsImpl.java
@@ -17,8 +17,6 @@
     private final ClientAgentType clientAgentType;
     private final Configurator configurator;
 
-    private static final String SECURE_ATTENTION_MAPPING = "ctrl+alt+end";// 
$NON-NLS-1$
-
     @Inject
     public ConsoleUtilsImpl(Configurator configurator, ClientAgentType 
clientAgentType) {
         this.configurator = configurator;
@@ -51,11 +49,6 @@
     @Override
     public boolean webBasedClientsSupported() {
         return configurator.isWebSocketProxyDefined() && 
!configurator.isClientWindowsExplorer();
-    }
-
-    @Override
-    public String getRemapCtrlAltDelHotkey() {
-        return SECURE_ATTENTION_MAPPING;
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
 
b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
index 7dacd4e..bf4c2e6 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
@@ -206,6 +206,9 @@
         <include name="common/businessentities/VmRngDevice.java" />
                <include name="common/job/*.java" />
 
+               <!-- Console -->
+               <include name="common/console/*.java" />
+
                <!-- Profiles -->
                <include 
name="common/businessentities/profiles/DiskProfile.java" />
                <include 
name="common/businessentities/profiles/CpuProfile.java" />
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ConsoleUtils.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ConsoleUtils.java
index b0c9e8c..2f63326 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ConsoleUtils.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ConsoleUtils.java
@@ -16,6 +16,4 @@
 
     public boolean webBasedClientsSupported();
 
-    public String getRemapCtrlAltDelHotkey();
-
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
index 4e4f3b1..9d99a48 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
@@ -87,6 +87,8 @@
 import 
org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface;
 import org.ovirt.engine.core.common.businessentities.network.VnicProfileView;
 import org.ovirt.engine.core.common.businessentities.qos.QosType;
+import org.ovirt.engine.core.common.console.ConsoleOptions.WanDisableEffects;
+import org.ovirt.engine.core.common.console.ConsoleOptions.WanColorDepth;
 import org.ovirt.engine.core.common.interfaces.SearchType;
 import org.ovirt.engine.core.common.mode.ApplicationMode;
 import org.ovirt.engine.core.common.queries.ArchCapabilitiesParameters;
@@ -173,8 +175,6 @@
 import org.ovirt.engine.ui.uicommonweb.models.storage.LocalStorageModel;
 import org.ovirt.engine.ui.uicommonweb.models.storage.NfsStorageModel;
 import org.ovirt.engine.ui.uicommonweb.models.storage.PosixStorageModel;
-import org.ovirt.engine.ui.uicommonweb.models.vms.WANDisableEffects;
-import org.ovirt.engine.ui.uicommonweb.models.vms.WanColorDepth;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 import org.ovirt.engine.ui.uicompat.EventArgs;
 import org.ovirt.engine.ui.uicompat.FrontendMultipleQueryAsyncResult;
@@ -838,10 +838,10 @@
             public Object Convert(Object source, AsyncQuery _asyncQuery)
             {
                 if (source == null) {
-                    return new ArrayList<WANDisableEffects>();
+                    return new ArrayList<WanDisableEffects>();
                 }
 
-                List<WANDisableEffects> res = new 
ArrayList<WANDisableEffects>();
+                List<WanDisableEffects> res = new 
ArrayList<WanDisableEffects>();
                 String fromDb = (String) source;
                 for (String value : fromDb.split(",")) {//$NON-NLS-1$
                     if (value == null) {
@@ -853,7 +853,7 @@
                         continue;
                     }
 
-                    res.add(WANDisableEffects.fromString(trimmedValue));
+                    res.add(WanDisableEffects.fromString(trimmedValue));
                 }
 
                 return res;
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ISpice.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ISpice.java
index 36c6c1a..a175a76 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ISpice.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ISpice.java
@@ -2,6 +2,8 @@
 
 import java.util.List;
 
+import org.ovirt.engine.core.common.console.ConsoleOptions.WanColorDepth;
+import org.ovirt.engine.core.common.console.ConsoleOptions.WanDisableEffects;
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.EventArgs;
@@ -119,9 +121,9 @@
 
     void setUsbAutoShare(boolean value);
 
-    void setWANDisableEffects(List<WANDisableEffects> disableEffects);
+    void setWANDisableEffects(List<WanDisableEffects> disableEffects);
 
-    List<WANDisableEffects> getWANDisableEffects();
+    List<WanDisableEffects> getWANDisableEffects();
 
     void setWANColorDepth(WanColorDepth colorDepth);
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/IVnc.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/IVnc.java
index b7716c2..d110f83 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/IVnc.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/IVnc.java
@@ -8,8 +8,6 @@
     void setTitle(String title);
     boolean isRemapCtrlAltDelete();
     void setRemapCtrlAltDelete(boolean remapCtrlAltDelete);
-    void setTicketValiditySeconds(int seconds);
-    int getTicketValiditySeconds();
     void setToggleFullscreenHotKey(String toggleFullscreenHotKey);
     void setReleaseCursorHotKey(String releaseCursorHotKey);
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VncConsoleModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VncConsoleModel.java
index 0d3fc04..ea6e60e 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VncConsoleModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VncConsoleModel.java
@@ -160,7 +160,6 @@
         vncImpl.setTitle(getClientTitle());
         vncImpl.setToggleFullscreenHotKey(getToggleFullScreenKeys());
         vncImpl.setReleaseCursorHotKey(getReleaseCursorKeys());
-        vncImpl.setTicketValiditySeconds(TICKET_VALIDITY_SECONDS);
 
         vncImpl.invokeClient();
     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WANDisableEffects.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WANDisableEffects.java
deleted file mode 100644
index 3e73630..0000000
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WANDisableEffects.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.ovirt.engine.ui.uicommonweb.models.vms;
-
-public enum WANDisableEffects {
-    animation("animation"), //$NON-NLS-1$
-    wallpaper("wallpaper"), //$NON-NLS-1$
-    fontSmooth("font-smooth"), //$NON-NLS-1$
-    all("all"); //$NON-NLS-1$
-
-    private final String stringValue;
-
-    private WANDisableEffects(String stringValue) {
-        this.stringValue = stringValue;
-    }
-
-    public static WANDisableEffects fromString(String str) {
-        for (WANDisableEffects value : values()) {
-            if (value.stringValue.equals(str)) {
-                return value;
-            }
-        }
-
-        throw new IllegalArgumentException("Illegal string value: " + 
str);//$NON-NLS-1$
-    }
-
-    public String asString() {
-        return stringValue;
-    }
-}
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WanColorDepth.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WanColorDepth.java
deleted file mode 100644
index d0a5bd2..0000000
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WanColorDepth.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.ovirt.engine.ui.uicommonweb.models.vms;
-
-public enum WanColorDepth {
-    depth16(16),
-    depth32(32);
-    private final int depth;
-
-    private WanColorDepth(int depth) {
-        this.depth = depth;
-    }
-    public static WanColorDepth fromInt(int integerDepth) {
-        for (WanColorDepth value : values()) {
-            if (value.depth == integerDepth) {
-                return value;
-            }
-        }
-
-        throw new IllegalArgumentException("Illegal int value: " + 
integerDepth); //$NON-NLS-1$
-    }
-    public int asInt() {
-        return depth;
-    }
-}
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/UserPortalConfigurator.java
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/UserPortalConfigurator.java
index 5a8a395..ceab27d 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/UserPortalConfigurator.java
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/UserPortalConfigurator.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 
+import org.ovirt.engine.core.common.console.ConsoleOptions.WanDisableEffects;
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.ui.common.uicommon.ClientAgentType;
 import org.ovirt.engine.ui.common.uicommon.DocumentationPathTranslator;
@@ -11,8 +12,6 @@
 import org.ovirt.engine.ui.uicommonweb.Configurator;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
 import org.ovirt.engine.ui.uicommonweb.models.vms.ISpice;
-import org.ovirt.engine.ui.uicommonweb.models.vms.WANDisableEffects;
-import org.ovirt.engine.ui.uicommonweb.models.vms.WanColorDepth;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.EventDefinition;
 import org.ovirt.engine.ui.uicompat.IEventListener;
@@ -20,6 +19,9 @@
 
 import com.google.gwt.event.shared.EventBus;
 import com.google.inject.Inject;
+
+
+import static 
org.ovirt.engine.core.common.console.ConsoleOptions.WanColorDepth;
 
 public class UserPortalConfigurator extends Configurator implements 
IEventListener<Configurator.FileFetchEventArgs> {
 
@@ -82,7 +84,7 @@
             @SuppressWarnings("unchecked")
             @Override
             public void onSuccess(Object target, Object returnValue) {
-                spice.setWANDisableEffects((List<WANDisableEffects>) 
returnValue);
+                spice.setWANDisableEffects((List<WanDisableEffects>) 
returnValue);
             }
         }));
     }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/WebAdminConfigurator.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/WebAdminConfigurator.java
index c47fda7..d0b5264 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/WebAdminConfigurator.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/WebAdminConfigurator.java
@@ -2,12 +2,12 @@
 
 import java.util.ArrayList;
 
+import org.ovirt.engine.core.common.console.ConsoleOptions.WanDisableEffects;
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.ui.common.uicommon.ClientAgentType;
 import org.ovirt.engine.ui.common.uicommon.DocumentationPathTranslator;
 import org.ovirt.engine.ui.uicommonweb.Configurator;
 import org.ovirt.engine.ui.uicommonweb.models.vms.ISpice;
-import org.ovirt.engine.ui.uicommonweb.models.vms.WANDisableEffects;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.EventDefinition;
 import org.ovirt.engine.ui.uicompat.IEventListener;
@@ -61,7 +61,7 @@
     @Override
     public void configure(ISpice spice) {
         super.configure(spice);
-        spice.setWANDisableEffects(new ArrayList<WANDisableEffects>());
+        spice.setWANDisableEffects(new ArrayList<WanDisableEffects>());
         spice.setWanOptionsEnabled(false);
     }
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib06110fd2b36f96f1baa55b6176240cd27a2cbf9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Frank Kobzik <fkob...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to