package org.ovirt.engine.ui.uicommonweb.models; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.ui.uicommonweb.ConsoleOptionsFrontendPersister; public class VmConsolesImpl extends ConsolesBase { public VmConsolesImpl(VM vm, Model parentModel, ConsoleOptionsFrontendPersister.ConsoleContext consoleContext) { super(vm, parentModel, consoleContext); } public void connect() throws ConsoleConnectException { if (!canConnectToConsole()) { throw new ConsoleConnectException(connectErrorMessage()); } getConsoleModel(getSelectedProcotol().getBackingClass()).getConnectCommand().execute(); } /** * @return id of underlying VM. */ @Override public Guid getEntityId() { return getVm().getId(); } /** * @return name of underlying VM. */ @Override public String getEntityName() { return getVm().getName(); } @Override public String cannotConnectReason() { // so far this is too general - more cases can be added based on state of underlying console models return canConnectToConsole() ? "" : messages.cannotConnectToTheConsole(getVm().getName()); } private String connectErrorMessage() { return getSelectedProcotol() == null ? messages.errorConnectingToConsoleNoProtocol(getVm().getName()) : messages.errorConnectingToConsole(getVm().getName(), getSelectedProcotol().toString()); } }