Roy Golan has uploaded a new change for review. Change subject: WIP libosinfo add CpuArch UI field ......................................................................
WIP libosinfo add CpuArch UI field Change-Id: Ia817fb0a4f9d1d651a986d1655ee231636439ae0 Signed-off-by: Roy Golan <[email protected]> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolGeneralModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java 11 files changed, 69 insertions(+), 9 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/68/9068/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java index 5434ee7..e7dc515 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java @@ -325,6 +325,9 @@ @DefaultStringValue("Operating System") String osVmPopup(); + @DefaultStringValue("Cpu Architecture") + String cpuArchPopup(); + @DefaultStringValue("Stateless") String statelessVmPopup(); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java index 0d29683..b2469e5 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java @@ -4,6 +4,7 @@ import java.util.Map.Entry; import org.ovirt.engine.core.common.businessentities.Disk.DiskStorageType; +import org.ovirt.engine.core.common.businessentities.CpuArch; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.ImageStatus; import org.ovirt.engine.core.common.businessentities.Quota; @@ -163,6 +164,11 @@ @Path(value = "oSType.selectedItem") @WithElementId("osType") public ListModelListBoxEditor<Object> oSTypeEditor; + + @UiField(provided = true) + @Path(value = "cpuArch.selectedItem") + @WithElementId("cpuArch") + public ListModelListBoxEditor<Object> cpuArchEditor; @UiField @Ignore @@ -573,13 +579,20 @@ } }); - // oSTypeEditor = new ListModelListBoxEditor<Object>(new EnumRenderer()); oSTypeEditor = new ListModelListBoxEditor<Object>(new NullSafeRenderer<Object>() { @Override public String renderNullSafe(Object object) { VmOsType osType = (VmOsType) object; Os os = AsyncDataProvider.getAllOSs().get(osType.getShortId()); return os != null ? os.getName() : ""; + } + }); + + cpuArchEditor = new ListModelListBoxEditor<Object>(new NullSafeRenderer<Object>() { + @Override + public String renderNullSafe(Object object) { + CpuArch arch = (CpuArch) object; + return arch == null ? CpuArch.UNASSIGNED.name() : arch.name(); } }); @@ -680,6 +693,8 @@ numOfSocketsEditor.setLabel(constants.numOfSockets()); oSTypeEditor.setLabel(constants.osVmPopup()); + cpuArchEditor.setLabel(constants.cpuArchPopup()); + isStatelessEditor.setLabel(constants.statelessVmPopup()); isSmartcardEnabledEditor.setLabel(constants.smartcardVmPopup()); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml index 4e4bdcd..10d581b 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml @@ -274,6 +274,7 @@ </g:FlowPanel> <g:FlowPanel addStyleNames="{style.sectionPanel}"> <e:ListModelListBoxEditor ui:field="oSTypeEditor" /> + <e:ListModelListBoxEditor ui:field="cpuArchEditor" /> <e:EntityModelCheckBoxEditor ui:field="isStatelessEditor" addStyleNames="{style.checkbox}" /> </g:FlowPanel> <g:FlowPanel addStyleNames="{style.sectionPanel}"> diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java index 07b4ef9..9c4d0b1 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java @@ -2570,4 +2570,17 @@ return Get64bitOsTypes().contains(osType.getShortId()); } + public static List<CpuArch> getCpuArchById(String shortId) { + Os os = getAllOSs().get(shortId); + List<CpuArch> list = new ArrayList<CpuArch>(); + if (os != null && os.getResources() != null && os.getResources().size() > 0) { + for (Resources r : os.getResources()) { + list.add(CpuArch.forValue(r.getArch())); + } + } else { + list.add(CpuArch.UNASSIGNED); + } + return list; + } + } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolGeneralModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolGeneralModel.java index 8419944..5aed97a 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolGeneralModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolGeneralModel.java @@ -9,7 +9,6 @@ import org.ovirt.engine.core.common.businessentities.UsbPolicy; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VM; -import org.ovirt.engine.core.common.businessentities.VmOsType; import org.ovirt.engine.core.common.businessentities.storage_domains; import org.ovirt.engine.core.common.businessentities.vm_pools; import org.ovirt.engine.core.common.interfaces.SearchType; @@ -24,6 +23,7 @@ import org.ovirt.engine.core.compat.EventDefinition; import org.ovirt.engine.core.compat.PropertyChangedEventArgs; import org.ovirt.engine.core.compat.StringHelper; +import org.ovirt.engine.core.libosinfo.Os; import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.frontend.INewAsyncCallback; @@ -456,13 +456,13 @@ + " Socket(s), " + getvm().getcpu_per_socket() + " Core(s) per Socket)"); //$NON-NLS-1$ //$NON-NLS-2$ poolGeneralModel.setMonitorCount(getvm().getnum_of_monitors()); - Translator translator = EnumTranslator.Create(VmOsType.class); - poolGeneralModel.setOS(translator.get(getvm().getvm_os())); + Os os = AsyncDataProvider.getAllOSs().get(getvm().getvm_os().getShortId()); + poolGeneralModel.setOS(os != null ? os.getName() : ""); poolGeneralModel.setDefinedMemory(getvm().getvm_mem_size_mb() + " MB"); //$NON-NLS-1$ poolGeneralModel.setMinAllocatedMemory(getvm().getMinAllocatedMem() + " MB"); //$NON-NLS-1$ - translator = EnumTranslator.Create(DisplayType.class); + Translator translator = EnumTranslator.Create(DisplayType.class); poolGeneralModel.setDefaultDisplayType(translator.get(getvm().getdefault_display_type())); translator = EnumTranslator.Create(OriginType.class); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java index 3e26b60..b09574d 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolListModel.java @@ -11,6 +11,7 @@ import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.action.VmPoolParametersBase; +import org.ovirt.engine.core.common.businessentities.CpuArch; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.DisplayType; import org.ovirt.engine.core.common.businessentities.MigrationSupport; @@ -644,6 +645,7 @@ desktop.setvmt_guid(((VmTemplate) model.getTemplate().getSelectedItem()).getId()); desktop.setvm_name(name); desktop.setvm_os((VmOsType) model.getOSType().getSelectedItem()); + desktop.setCpuArch((CpuArch) model.getCpuArch().getSelectedItem()); desktop.setSmartcardEnabled((Boolean) model.getIsSmartcardEnabled().getEntity()); desktop.setnum_of_monitors((Integer) model.getNumOfMonitors().getSelectedItem()); desktop.setvm_domain(model.getDomain().getIsAvailable() ? (String) model.getDomain() diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java index 4cd5181..f9578ed 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateListModel.java @@ -11,6 +11,7 @@ import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.action.VdcReturnValueBase; import org.ovirt.engine.core.common.action.VmTemplateParametersBase; +import org.ovirt.engine.core.common.businessentities.CpuArch; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.DisplayType; import org.ovirt.engine.core.common.businessentities.MigrationSupport; @@ -505,6 +506,7 @@ template.setvm_type(model.getVmType()); template.setname(name); template.setos((VmOsType) model.getOSType().getSelectedItem()); + template.setCpuArch((CpuArch) model.getCpuArch().getSelectedItem()); template.setnum_of_monitors((Integer) model.getNumOfMonitors().getSelectedItem()); template.setAllowConsoleReconnect((Boolean) model.getAllowConsoleReconnect().getEntity()); template.setdescription((String) model.getDescription().getEntity()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java index 752c9a8..1dcf0b1 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java @@ -17,6 +17,7 @@ import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.action.VmManagementParametersBase; +import org.ovirt.engine.core.common.businessentities.CpuArch; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.DisplayType; import org.ovirt.engine.core.common.businessentities.MigrationSupport; @@ -636,6 +637,7 @@ tempVar.setId(vm.getId()); tempVar.setvm_type(model.getVmType()); tempVar.setvm_os((VmOsType) model.getOSType().getSelectedItem()); + tempVar.setCpuArch((CpuArch) model.getCpuArch().getSelectedItem()); tempVar.setnum_of_monitors((Integer) model.getNumOfMonitors().getSelectedItem()); tempVar.setAllowConsoleReconnect((Boolean) model.getAllowConsoleReconnect().getEntity()); tempVar.setvm_domain(model.getDomain().getIsAvailable() ? (String) model.getDomain().getSelectedItem() : ""); //$NON-NLS-1$ @@ -1276,6 +1278,7 @@ gettempVm().setvmt_guid(template.getId()); gettempVm().setvm_name(name); gettempVm().setvm_os((VmOsType) model.getOSType().getSelectedItem()); + gettempVm().setCpuArch((CpuArch) model.getCpuArch().getSelectedItem()); gettempVm().setnum_of_monitors((Integer) model.getNumOfMonitors().getSelectedItem()); gettempVm().setAllowConsoleReconnect((Boolean) model.getAllowConsoleReconnect().getEntity()); gettempVm().setvm_description((String) model.getDescription().getEntity()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java index e101ed4..17ce0c6 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java @@ -938,6 +938,16 @@ this.cpuPinning = cpuPinning; } + private ListModel cpuArch; + + public ListModel getCpuArch() { + return cpuArch; + } + + public void setCpuArch(ListModel value) { + this.cpuArch = value; + } + public UnitVmModel(VmModelBehaviorBase behavior) { Frontend.getQueryStartedEvent().addListener(this); @@ -1012,6 +1022,7 @@ setDefaultHost(new ListModel()); getDefaultHost().getSelectedItemChangedEvent().addListener(this); + setCpuArch(new ListModel()); setOSType(new ListModel()); getOSType().getSelectedItemChangedEvent().addListener(this); @@ -1487,6 +1498,7 @@ getDomain().setIsChangable(getIsWindowsOS()); getBehavior().updateTimeZone(); + getBehavior().updateCpuArch(); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java index f63f03a..7b19bb5 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java @@ -10,7 +10,6 @@ import org.ovirt.engine.core.common.businessentities.UsbPolicy; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VM; -import org.ovirt.engine.core.common.businessentities.VmOsType; import org.ovirt.engine.core.common.businessentities.VmPauseStatus; import org.ovirt.engine.core.common.businessentities.VmType; import org.ovirt.engine.core.common.businessentities.storage_domains; @@ -25,6 +24,7 @@ import org.ovirt.engine.core.compat.EventDefinition; import org.ovirt.engine.core.compat.PropertyChangedEventArgs; import org.ovirt.engine.core.compat.StringHelper; +import org.ovirt.engine.core.libosinfo.Os; import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.frontend.INewAsyncCallback; @@ -597,10 +597,10 @@ setDefinedMemory(vm.getvm_mem_size_mb() + " MB"); //$NON-NLS-1$ setMinAllocatedMemory(vm.getMinAllocatedMem() + " MB"); //$NON-NLS-1$ - Translator translator = EnumTranslator.Create(VmOsType.class); - setOS(translator.get(vm.getvm_os())); + Os os = AsyncDataProvider.getAllOSs().get(vm.getvm_os().getShortId()); + setOS(os != null ? os.getName() : ""); - translator = EnumTranslator.Create(DisplayType.class); + Translator translator = EnumTranslator.Create(DisplayType.class); setDefaultDisplayType(translator.get(vm.getdefault_display_type())); translator = EnumTranslator.Create(OriginType.class); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java index c6c55e4..d9ad135 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java @@ -9,6 +9,7 @@ import java.util.Map.Entry; import org.ovirt.engine.core.common.businessentities.ActionGroup; +import org.ovirt.engine.core.common.businessentities.CpuArch; import org.ovirt.engine.core.common.businessentities.Disk; import org.ovirt.engine.core.common.businessentities.Disk.DiskStorageType; import org.ovirt.engine.core.common.businessentities.DiskImage; @@ -17,6 +18,7 @@ import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.common.businessentities.VM; +import org.ovirt.engine.core.common.businessentities.VmOsType; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.VolumeType; import org.ovirt.engine.core.common.businessentities.storage_domains; @@ -928,4 +930,11 @@ break; } } + + public void updateCpuArch() { + VmOsType selectedItem = (VmOsType) getModel().getOSType().getSelectedItem(); + List<CpuArch> items = AsyncDataProvider.getCpuArchById(selectedItem.getShortId()); + getModel().getCpuArch().setItems(items); + getModel().getCpuArch().setSelectedItem(items.get(0)); + } } -- To view, visit http://gerrit.ovirt.org/9068 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia817fb0a4f9d1d651a986d1655ee231636439ae0 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Roy Golan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
