Arik Hadas has uploaded a new change for review. Change subject: webadmin: operating system selection ......................................................................
webadmin: operating system selection Change-Id: I969141d17909323708c196f282586e9f19089f09 Signed-off-by: Arik Hadas <[email protected]> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmImportGeneralModelForm.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportGeneralModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/RegisterVmInfoPanel.java 4 files changed, 61 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/88/39588/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmImportGeneralModelForm.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmImportGeneralModelForm.java index 26a3ee0..4ee591a 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmImportGeneralModelForm.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmImportGeneralModelForm.java @@ -3,15 +3,21 @@ import org.ovirt.engine.ui.common.CommonApplicationConstants; import org.ovirt.engine.ui.common.gin.AssetProvider; import org.ovirt.engine.ui.common.uicommon.model.ModelProvider; +import org.ovirt.engine.ui.common.widget.editor.ListModelListBox; import org.ovirt.engine.ui.common.widget.editor.TextBoxChanger; import org.ovirt.engine.ui.common.widget.form.FormItem; import org.ovirt.engine.ui.common.widget.form.FormItem.DefaultValueCondition; import org.ovirt.engine.ui.common.widget.label.TextBoxLabel; import org.ovirt.engine.ui.common.widget.uicommon.AbstractModelBoundFormWidget; +import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; +import org.ovirt.engine.ui.uicommonweb.models.vms.ImportSource; import org.ovirt.engine.ui.uicommonweb.models.vms.VmImportGeneralModel; import com.google.gwt.core.client.GWT; import com.google.gwt.editor.client.SimpleBeanEditorDriver; +import com.google.gwt.text.shared.AbstractRenderer; +import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.user.client.ui.Widget; public class VmImportGeneralModelForm extends AbstractModelBoundFormWidget<VmImportGeneralModel> { @@ -21,6 +27,9 @@ @Path("name.entity") TextBoxChanger name = new TextBoxChanger(); TextBoxLabel description = new TextBoxLabel(); + @UiField(provided = true) + @Path("operatingSystems.selectedItem") + ListModelListBox<Integer> operatingSystems; @Path("OS") TextBoxLabel os = new TextBoxLabel(); TextBoxLabel template = new TextBoxLabel(); @@ -50,6 +59,13 @@ public VmImportGeneralModelForm(ModelProvider<VmImportGeneralModel> modelProvider) { super(modelProvider, 3, 7); + + operatingSystems = new ListModelListBox<Integer>(new AbstractRenderer<Integer>() { + @Override + public String render(Integer object) { + return AsyncDataProvider.getInstance().getOsName(object); + } + }); } @Override @@ -60,6 +76,11 @@ monitorCount.setText(Integer.toString(getModel().getMonitorCount())); } + private Widget getOperatingSystemWidget() { + ImportSource source = getModel().getSource(); + return source == ImportSource.EXPORT_DOMAIN ? os : operatingSystems; + } + public void initialize() { driver.initialize(this); @@ -67,7 +88,7 @@ os.setWidth("130px"); //$NON-NLS-1$ formBuilder.addFormItem(new FormItem(constants.nameVm(), name, 0, 0)); - formBuilder.addFormItem(new FormItem(constants.osVm(), os, 1, 0)); + formBuilder.addFormItem(new FormItem(constants.osVm(), getOperatingSystemWidget(), 1, 0)); formBuilder.addFormItem(new FormItem(constants.descriptionVm(), description, 2, 0)); formBuilder.addFormItem(new FormItem(constants.templateVm(), template, 3, 0)); formBuilder.addFormItem(new FormItem(constants.videoType(), defaultDisplayType, 4, 0)); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java index 238af06..6b98079 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExportDomainModel.java @@ -187,6 +187,7 @@ this.cluster = cluster; this.clusterQuota = clusterQuota; setCpuProfiles(new ListModel<CpuProfile>()); + vmImportGeneralModel.setSource(ImportSource.EXPORT_DOMAIN); setDetailList(vmImportGeneralModel, vmImportInterfaceListModel, vmImportAppListModel); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportGeneralModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportGeneralModel.java index 4ab4f5c..5771014 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportGeneralModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmImportGeneralModel.java @@ -17,6 +17,7 @@ import org.ovirt.engine.ui.frontend.INewAsyncCallback; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; +import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicompat.ConstantsManager; import org.ovirt.engine.ui.uicompat.EnumTranslator; import org.ovirt.engine.ui.uicompat.Event; @@ -29,6 +30,7 @@ private static EnumTranslator translator = EnumTranslator.getInstance(); private EntityModel<String> name; + private ListModel<Integer> operatingSystems; private String description; private String template; private String definedMemory; @@ -59,8 +61,11 @@ private String fqdn; private String compatibilityVersion; + private ImportSource source; + public VmImportGeneralModel() { setName(new EntityModel<String>()); + setOperatingSystems(new ListModel<Integer>()); getName().getEntityChangedEvent().addListener(new IEventListener<EventArgs>() { @Override @@ -68,6 +73,28 @@ getEntity().getVm().setName(getName().getEntity()); } }); + getOperatingSystems().getSelectedItemChangedEvent().addListener(new IEventListener<EventArgs>() { + @Override + public void eventRaised(Event<? extends EventArgs> ev, Object sender, EventArgs args) { + if (getOperatingSystems().getSelectedItem() != null) { + getEntity().getVm().setVmOs(getOperatingSystems().getSelectedItem()); + } + } + }); + getOperatingSystems().getItemsChangedEvent().addListener(new IEventListener<EventArgs>() { + @Override + public void eventRaised(Event<? extends EventArgs> ev, Object sender, EventArgs args) { + getOperatingSystems().setSelectedItem(getEntity().getVm().getOs()); + } + }); + } + + public void setSource(ImportSource source) { + this.source = source; + } + + public ImportSource getSource() { + return source; } @Override @@ -82,12 +109,21 @@ return translator.translate(getEntity().getVm().getOrigin()); } + public void setOperatingSystems(ListModel<Integer> value) { + this.operatingSystems = value; + } + + public ListModel<Integer> getOperatingSystems() { + return operatingSystems; + } + private void updateProperties() { VM vm = getEntity().getVm(); super.updateProperties(vm.getId()); getName().setEntity(vm.getName()); + getOperatingSystems().setItems(AsyncDataProvider.getInstance().getOsIds(vm.getClusterArch())); setDescription(vm.getVmDescription()); setQuotaName(vm.getQuotaName() != null ? vm.getQuotaName() : ""); //$NON-NLS-1$ setQuotaAvailable(vm.getQuotaEnforcementType() != null diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/RegisterVmInfoPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/RegisterVmInfoPanel.java index 4ed4d5d..087ac31 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/RegisterVmInfoPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/RegisterVmInfoPanel.java @@ -9,6 +9,7 @@ import org.ovirt.engine.ui.uicommonweb.models.ImportVmsFromSourceModel; import org.ovirt.engine.ui.uicommonweb.models.storage.RegisterEntityModel; import org.ovirt.engine.ui.uicommonweb.models.vms.ImportEntityData; +import org.ovirt.engine.ui.uicommonweb.models.vms.ImportSource; import org.ovirt.engine.ui.uicommonweb.models.vms.ImportVmData; import org.ovirt.engine.ui.uicommonweb.models.vms.VmImportGeneralModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; @@ -79,6 +80,7 @@ public VmImportGeneralModel getVmGeneralModel() { if (vmImportGeneralModel == null) { vmImportGeneralModel = new VmImportGeneralModel(); + vmImportGeneralModel.setSource(ImportSource.EXPORT_DOMAIN); } return vmImportGeneralModel; } -- To view, visit https://gerrit.ovirt.org/39588 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I969141d17909323708c196f282586e9f19089f09 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Arik Hadas <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
