Frank Kobzik has uploaded a new change for review. Change subject: frontend: [wip] Allow using any domain for sysprep ......................................................................
frontend: [wip] Allow using any domain for sysprep Change-Id: Iff87239de98694cf124a44e7cb39f6d9e867ce93 Signed-off-by: Frantisek Kobzik <fkob...@redhat.com> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/RunOnceModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UserPortalRunOnceModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WebadminRunOnceModel.java 4 files changed, 48 insertions(+), 58 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/19829/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.java index 4730f95..b914bbe 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmRunOncePopupWidget.java @@ -1,5 +1,7 @@ package org.ovirt.engine.ui.common.widget.uicommon.popup.vm; +import com.google.gwt.event.dom.client.FocusEvent; +import com.google.gwt.event.dom.client.FocusHandler; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.ui.common.CommonApplicationConstants; import org.ovirt.engine.ui.common.CommonApplicationResources; @@ -328,6 +330,20 @@ sysPrepDomainNameListBoxEditor = new ListModelListBoxEditor<Object>(); sysPrepDomainNameTextBoxEditor = new EntityModelTextBoxEditor(); + sysPrepDomainNameListBoxEditor.asListBox().addDomHandler(new FocusHandler() { + @Override + public void onFocus(FocusEvent event) { + sysPrepDomainNameListBoxEditor.asListBox().setSelectedIndex(-1); + } + }, FocusEvent.getType()); + + sysPrepDomainNameListBoxEditor.asListBox().addDomHandler(new ChangeHandler() { + @Override + public void onChange(ChangeEvent event) { + runOnceModel.sysPrepListBoxChanged(); + } + }, ChangeEvent.getType()); + sysPrepDomainNameComboBox = new ComboBox(sysPrepDomainNameListBoxEditor, sysPrepDomainNameTextBoxEditor); defaultHostEditor = new ListModelListBoxEditor<Object>(new NullSafeRenderer<Object>() { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/RunOnceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/RunOnceModel.java index 314def4..b5f2059 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/RunOnceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/RunOnceModel.java @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; - import org.ovirt.engine.core.common.action.RunVmOnceParams; import org.ovirt.engine.core.common.businessentities.Disk; import org.ovirt.engine.core.common.businessentities.DisplayType; @@ -552,7 +551,6 @@ // Initial Boot tab - Sysprep setSysPrepDomainName(new ListModel()); - getSysPrepDomainName().getSelectedItemChangedEvent().addListener(this); setSysPrepSelectedDomainName(new EntityModel()); setSysPrepUserName(new EntityModel().setIsChangable(false)); @@ -631,6 +629,7 @@ setIsWindowsOS(AsyncDataProvider.isWindowsOsType(vm.getVmOsId())); getIsVmFirstRun().setEntity(!vm.isInitialized()); getSysPrepDomainName().setSelectedItem(vm.getVmDomain()); + sysPrepListBoxChanged(); getCloudInit().init(vm, null); @@ -707,6 +706,11 @@ params.setUseVnc((Boolean) getDisplayConsole_Vnc_IsSelected().getEntity()); } + String selectedDomain = (String) getSysPrepSelectedDomainName().getEntity(); + if (!StringHelper.isNullOrEmpty(selectedDomain)) { + params.setSysPrepDomainName(selectedDomain); + } + return params; } @@ -719,8 +723,7 @@ VM selectedVM = (VM) vm; List<String> images = (List<String>) returnValue; - if (AsyncDataProvider.isWindowsOsType(selectedVM.getVmOsId())) - { + if (AsyncDataProvider.isWindowsOsType(selectedVM.getVmOsId())) { // Add a pseudo floppy disk image used for Windows' sysprep. if (!selectedVM.isInitialized()) { images.add(0, "[sysprep]"); //$NON-NLS-1$ @@ -744,30 +747,29 @@ Frontend.RunQuery(VdcQueryType.GetAllDisksByVmId, new IdQueryParameters(vm.getId()), new AsyncQuery(this, new INewAsyncCallback() { - @Override - public void onSuccess(Object model, Object returnValue) { - ArrayList<Disk> vmDisks = (ArrayList<Disk>) ((VdcQueryReturnValue) returnValue).getReturnValue(); + @Override + public void onSuccess(Object model, Object returnValue) { + ArrayList<Disk> vmDisks = (ArrayList<Disk>) ((VdcQueryReturnValue) returnValue).getReturnValue(); - if (vmDisks.isEmpty()) { - getRunAsStateless().setIsChangable(false); - getRunAsStateless() - .setChangeProhibitionReason(ConstantsManager.getInstance() - .getMessages() - .disklessVmCannotRunAsStateless()); - getRunAsStateless().setEntity(false); - } + if (vmDisks.isEmpty()) { + getRunAsStateless().setIsChangable(false); + getRunAsStateless() + .setChangeProhibitionReason(ConstantsManager.getInstance() + .getMessages() + .disklessVmCannotRunAsStateless()); + getRunAsStateless().setEntity(false); + } - if (!isDisksContainBootableDisk(vmDisks)) - { - BootSequenceModel bootSequenceModel = getBootSequence(); - bootSequenceModel.getHardDiskOption().setIsChangable(false); - bootSequenceModel.getHardDiskOption() - .setChangeProhibitionReason(ConstantsManager.getInstance() - .getMessages() - .bootableDiskIsRequiredToBootFromDisk()); - } - } - })); + if (!isDisksContainBootableDisk(vmDisks)) { + BootSequenceModel bootSequenceModel = getBootSequence(); + bootSequenceModel.getHardDiskOption().setIsChangable(false); + bootSequenceModel.getHardDiskOption() + .setChangeProhibitionReason(ConstantsManager.getInstance() + .getMessages() + .bootableDiskIsRequiredToBootFromDisk()); + } + } + })); } private boolean isDisksContainBootableDisk(List<Disk> disks) { @@ -857,6 +859,10 @@ }), true); } + public void sysPrepListBoxChanged() { + getSysPrepSelectedDomainName().setEntity(getSysPrepDomainName().getSelectedItem()); + } + @Override public void eventRaised(Event ev, Object sender, EventArgs args) { @@ -871,10 +877,6 @@ else if (sender == getFloppyImage()) { floppyImage_SelectedItemChanged(); - } - else if (sender == getSysPrepDomainName()) - { - sysPrepDomainName_SelectedItemChanged(); } } else if (ev.matchesDefinition(EntityModel.EntityChangedEventDefinition)) @@ -947,11 +949,6 @@ private void IsoImage_SelectedItemChanged() { updateInitialRunFields(); - } - - private void sysPrepDomainName_SelectedItemChanged() - { - getSysPrepSelectedDomainName().setEntity(getSysPrepDomainName().getSelectedItem()); } private void isAutoAssign_EntityChanged(Object sender, EventArgs args) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UserPortalRunOnceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UserPortalRunOnceModel.java index d52eed7..26768d2 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UserPortalRunOnceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UserPortalRunOnceModel.java @@ -1,8 +1,6 @@ package org.ovirt.engine.ui.uicommonweb.models.vms; import java.util.ArrayList; - -import org.ovirt.engine.core.common.action.RunVmOnceParams; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.ui.frontend.Frontend; @@ -26,18 +24,6 @@ setIsCustomPropertiesSheetVisible(false); getCustomProperties().setEntity(vm.getCustomProperties()); - } - - @Override - protected RunVmOnceParams createRunVmOnceParams() { - RunVmOnceParams params = super.createRunVmOnceParams(); - // Sysprep params - if (getSysPrepDomainName().getSelectedItem() != null) - { - params.setSysPrepDomainName((String) getSysPrepDomainName().getSelectedItem()); - } - - return params; } @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WebadminRunOnceModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WebadminRunOnceModel.java index bb8c90a..96e25cb 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WebadminRunOnceModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/WebadminRunOnceModel.java @@ -2,7 +2,6 @@ import java.util.ArrayList; import java.util.List; - import org.ovirt.engine.core.common.action.RunVmOnceParams; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.VDS; @@ -70,14 +69,6 @@ // set destination host if specified VDS defaultHost = (VDS) getDefaultHost().getSelectedItem(); params.setDestinationVdsId(defaultHost != null ? defaultHost.getId() : null); - } - - // Sysprep params - if (getSysPrepDomainName().getSelectedItem() != null) - { - params.setSysPrepDomainName(getSysPrepSelectedDomainName().getEntity().equals("") ? //$NON-NLS-1$ - (String) getSysPrepSelectedDomainName().getEntity() - : (String) getSysPrepDomainName().getSelectedItem()); } return params; -- To view, visit http://gerrit.ovirt.org/19829 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iff87239de98694cf124a44e7cb39f6d9e867ce93 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