package org.ovirt.engine.ui.uicommonweb.models; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.ui.uicommonweb.ConsoleOptionsFrontendPersister; import org.ovirt.engine.ui.uicommonweb.ConsoleOptionsFrontendPersister.ConsoleContext; import org.ovirt.engine.ui.uicommonweb.TypeResolver; /** * It creates instances of {@link VmConsoles} and configures them according settings stored in client. */ public class ConsolesFactory { private final Model parentModel; private final ConsoleContext consoleContext; private final ConsoleOptionsFrontendPersister persister; public ConsolesFactory(ConsoleContext consoleContext, Model parentModel) { this.consoleContext = consoleContext; this.parentModel = parentModel; persister = (ConsoleOptionsFrontendPersister) TypeResolver.getInstance().resolve(ConsoleOptionsFrontendPersister.class); } public VmConsoles getVmConsolesForPool(VM poolRepresentative) { VmConsoles console = new PoolConsolesImpl(poolRepresentative, parentModel, consoleContext); persister.loadFromLocalStorage(console); return console; } public VmConsoles getVmConsolesForVm(VM vm) { VmConsoles console = new VmConsolesImpl(vm, parentModel, consoleContext); persister.loadFromLocalStorage(console); return console; } }