package org.ovirt.engine.ui.common.widget.uicommon.vm; import org.ovirt.engine.core.common.businessentities.OsType; import org.ovirt.engine.ui.common.CommonApplicationConstants; import org.ovirt.engine.ui.common.editor.UiCommonEditorDriver; import org.ovirt.engine.ui.common.gin.AssetProvider; import org.ovirt.engine.ui.common.uicommon.model.ModelProvider; import org.ovirt.engine.ui.common.widget.form.FormItem; import org.ovirt.engine.ui.common.widget.label.StringValueLabel; import org.ovirt.engine.ui.common.widget.uicommon.AbstractModelBoundFormWidget; import org.ovirt.engine.ui.uicommonweb.models.vms.VmGuestInfoModel; import com.google.gwt.core.client.GWT; public class VmGuestInfoModelForm extends AbstractModelBoundFormWidget<VmGuestInfoModel> { interface Driver extends UiCommonEditorDriver<VmGuestInfoModel, VmGuestInfoModelForm> { } private final Driver driver = GWT.create(Driver.class); StringValueLabel guestUserName = new StringValueLabel(); StringValueLabel guestOsArch = new StringValueLabel(); StringValueLabel guestOsType = new StringValueLabel(); StringValueLabel guestOsNamedVersion = new StringValueLabel(); StringValueLabel guestOsKernelVersion = new StringValueLabel(); StringValueLabel guestOsTimezone = new StringValueLabel(); StringValueLabel consoleUserName = new StringValueLabel(); StringValueLabel clientIp = new StringValueLabel(); private static final CommonApplicationConstants constants = AssetProvider.getConstants(); public VmGuestInfoModelForm(ModelProvider<VmGuestInfoModel> modelProvider) { super(modelProvider, 3, 4); driver.initialize(this); // First row - OS Info formBuilder.addFormItem(new FormItem(constants.guestOsType(), guestOsType, 0, 0) .withDefaultValue(constants.unknown(), () -> getModel().getGuestOsType().equals(OsType.Other.toString()))); formBuilder.addFormItem(new FormItem(constants.guestOsArchitecture(), guestOsArch, 1, 0) .withDefaultValue(constants.unknown(), () -> getModel().getGuestOsType().equals(OsType.Other.toString()))); formBuilder.addFormItem(new FormItem(constants.guestOperatingSystem(), guestOsNamedVersion, 2, 0) .withDefaultValue(constants.unknown(), () -> getModel().getGuestOsType().equals(OsType.Other.toString()))); // The kernel version is only reported and displayed for Linux based systems formBuilder.addFormItem(new FormItem(constants.guestOsKernelInfo(), guestOsKernelVersion, 3, 0) { @Override public boolean getIsAvailable() { return getModel().getGuestOsType().equals(OsType.Linux.toString()); } }); // Second row - Timezone Info formBuilder.addFormItem(new FormItem(constants.guestOsTimezone(), guestOsTimezone, 0, 1) .withDefaultValue(constants.unknown(), () -> getModel().getGuestOsType().equals(OsType.Other.toString()))); // Third row - Logged In User & Console Info formBuilder.addFormItem(new FormItem(constants.loggedInUserVm(), guestUserName, 0, 2)); formBuilder.addFormItem(new FormItem(constants.consoleConnectedUserVm(), consoleUserName, 1, 2)); formBuilder.addFormItem(new FormItem(constants.consoleConnectedClientIp(), clientIp, 2, 2)); } @Override protected void doEdit(VmGuestInfoModel model) { driver.edit(model); } @Override public void cleanup() { driver.cleanup(); } }