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