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

Reply via email to