package org.ovirt.engine.ui.uicommonweb.builders.vm; import java.util.Objects; import org.ovirt.engine.core.common.businessentities.VmBase; import org.ovirt.engine.ui.uicommonweb.builders.Builder; import org.ovirt.engine.ui.uicommonweb.builders.CompositeBuilder; import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; public class CoreVmBaseToUnitBuilder extends CompositeBuilder<VmBase, UnitVmModel> { public CoreVmBaseToUnitBuilder(Builder<VmBase, UnitVmModel>... builders) { super(builders); } public CoreVmBaseToUnitBuilder() { this( new KernelParamsVmBaseToUnitBuilder(), new SerialNumberPolicyVmBaseToUnitBuilder(), new IconVmBaseToUnitBuilder() ); } @Override protected void postBuild(VmBase vm, UnitVmModel model) { model.getBootMenuEnabled().setEntity(vm.isBootMenuEnabled()); model.getVncKeyboardLayout().setSelectedItem(vm.getVncKeyboardLayout()); model.getIsDeleteProtected().setEntity(vm.isDeleteProtected()); model.selectSsoMethod(vm.getSsoMethod()); model.getSpiceFileTransferEnabled().setEntity(vm.isSpiceFileTransferEnabled()); model.getSpiceCopyPasteEnabled().setEntity(vm.isSpiceCopyPasteEnabled()); model.getAutoConverge().setSelectedItem(vm.getAutoConverge()); model.getMigrateCompressed().setSelectedItem(vm.getMigrateCompressed()); model.getConsoleDisconnectAction().setSelectedItem(vm.getConsoleDisconnectAction()); if (!Objects.equals(model.getCustomCompatibilityVersion().getSelectedItem(), vm.getCustomCompatibilityVersion())) { // this has to be updated only if really changed since it triggers a refresh of the whole dialog including this // builder leading to an infinite recursion model.getCustomCompatibilityVersion().setSelectedItem(vm.getCustomCompatibilityVersion()); } } }