Tomas Jelinek has uploaded a new change for review.

Change subject: webadmin: add remove instance image widget
......................................................................

webadmin: add remove instance image widget

WIP

Change-Id: Idc87a480515de4af9df8da32ec4a9c787e11cfd1
Signed-off-by: Tomas Jelinek <tjeli...@redhat.com>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
A 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/template/BaseTemplateSuggestBoxRenderer.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/InstanceImageLineModel.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/VmListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/instanceimages/InstanceImageEditor.java
8 files changed, 165 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/31/32731/1

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 b2006de..f03db8e 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
@@ -2112,21 +2112,6 @@
         return hasValidations;
     }
 
-    class BaseTemplateSuggestBoxRenderer extends 
ListModelTypeAheadListBoxEditor.NullSafeSuggestBoxRenderer<VmTemplate> {
-        @Override
-        public String getReplacementStringNullSafe(VmTemplate data) {
-            return data.getName();
-        }
-
-        @Override
-        public String getDisplayStringNullSafe(VmTemplate data) {
-            return typeAheadNameDescriptionTemplateNullSafe(
-                    data.getName(),
-                    data.getDescription()
-            );
-        }
-    }
-
     class TemplateVersionSuggestBoxRenderer extends 
ListModelTypeAheadListBoxEditor.NullSafeSuggestBoxRenderer<VmTemplate> {
         @Override
         public String getReplacementStringNullSafe(VmTemplate data) {
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/template/BaseTemplateSuggestBoxRenderer.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/template/BaseTemplateSuggestBoxRenderer.java
new file mode 100644
index 0000000..8ddbfce
--- /dev/null
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/template/BaseTemplateSuggestBoxRenderer.java
@@ -0,0 +1,20 @@
+package org.ovirt.engine.ui.common.widget.uicommon.popup.template;
+
+
+import org.ovirt.engine.core.common.businessentities.VmTemplate;
+import 
org.ovirt.engine.ui.common.widget.editor.ListModelTypeAheadListBoxEditor;
+
+public class BaseTemplateSuggestBoxRenderer extends 
ListModelTypeAheadListBoxEditor.NullSafeSuggestBoxRenderer<VmTemplate> {
+    @Override
+    public String getReplacementStringNullSafe(VmTemplate data) {
+        return data.getName();
+    }
+
+    @Override
+    public String getDisplayStringNullSafe(VmTemplate data) {
+        return typeAheadNameDescriptionTemplateNullSafe(
+                data.getName(),
+                data.getDescription()
+        );
+    }
+}
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java
index 8c4952b..51e093e 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java
@@ -992,7 +992,7 @@
                 
parameters.setNetworkMappings(model.getInterfaceMappings().getEntity());
             }
 
-            if (model.getIsDiscorveredHosts().getEntity()) {
+            if 
(Boolean.TRUE.equals(model.getIsDiscorveredHosts().getEntity())) {
                 Provider<?> provider = (Provider<?>) 
model.getProviders().getSelectedItem();
                 ExternalHostGroup hostGroup = (ExternalHostGroup) 
model.getExternalHostGroups().getSelectedItem();
                 ExternalComputeResource computeResource = 
(ExternalComputeResource) model.getExternalComputeResource().getSelectedItem();
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/InstanceImageLineModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/InstanceImageLineModel.java
new file mode 100644
index 0000000..c4a6cae
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/InstanceImageLineModel.java
@@ -0,0 +1,38 @@
+package org.ovirt.engine.ui.uicommonweb.models.vms;
+
+import org.ovirt.engine.core.common.businessentities.VmTemplate;
+import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
+import org.ovirt.engine.ui.uicommonweb.models.ListModel;
+
+public class InstanceImageLineModel extends EntityModel {
+
+    private ListModel<VmTemplate> instanceImage;
+
+    private ListModel<VmTemplate> baseImage;
+
+    private EntityModel<Boolean> master;
+
+    public ListModel<VmTemplate> getInstanceImage() {
+        return instanceImage;
+    }
+
+    public void setInstanceImage(ListModel<VmTemplate> instanceImage) {
+        this.instanceImage = instanceImage;
+    }
+
+    public ListModel<VmTemplate> getBaseImage() {
+        return baseImage;
+    }
+
+    public void setBaseImage(ListModel<VmTemplate> baseImage) {
+        this.baseImage = baseImage;
+    }
+
+    public EntityModel<Boolean> getMaster() {
+        return master;
+    }
+
+    public void setMaster(EntityModel<Boolean> master) {
+        this.master = master;
+    }
+}
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 fb09cec..71fa8d0 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
@@ -533,6 +533,16 @@
         baseTemplate = value;
     }
 
+    private ListModel<InstanceImageLineModel> instanceImages;
+
+    public ListModel<InstanceImageLineModel> getInstanceImages() {
+        return instanceImages;
+    }
+
+    public void setInstanceImages(ListModel<InstanceImageLineModel> 
instanceImages) {
+        this.instanceImages = instanceImages;
+    }
+
     private NotChangableForVmInPoolListModel<VmTemplate> instanceImage;
 
     public ListModel<VmTemplate> getInstanceImage() {
@@ -1526,6 +1536,8 @@
         setInstanceImage(new NotChangableForVmInPoolListModel<VmTemplate>());
         getInstanceImage().getSelectedItemChangedEvent().addListener(this);
 
+        setInstanceImages(new 
NotChangableForVmInPoolListModel<InstanceImageLineModel>());
+
         setCdAttached(new NotChangableForVmInPoolEntityModel<Boolean>());
         getCdAttached().getEntityChangedEvent().addListener(new 
IEventListener() {
             @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
index 3619837..daf9616 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
@@ -2265,8 +2265,8 @@
             parameters.setImageTypeIds(new ArrayList<Guid>());
 
             // TODO Test
-            
parameters.getImageTypeIds().add(Guid.createGuidFromString("555d7a68-065f-4cc1-80f5-e7f86647c2ab"));
 //$NON-NLS-1$
-            
parameters.getImageTypeIds().add(Guid.createGuidFromString("878b9644-0c6d-475b-965b-09a85409dbb5"));
 //$NON-NLS-1$
+//            
parameters.getImageTypeIds().add(Guid.createGuidFromString("555d7a68-065f-4cc1-80f5-e7f86647c2ab"));
 //$NON-NLS-1$
+//            
parameters.getImageTypeIds().add(Guid.createGuidFromString("878b9644-0c6d-475b-965b-09a85409dbb5"));
 //$NON-NLS-1$
 
             setVmWatchdogToParams(model, parameters);
             setRngDeviceToParams(model, parameters);
@@ -2323,8 +2323,8 @@
                         
param.setCopyTemplatePermissions(model.getCopyPermissions().getEntity());
                         // TODO Test
                         param.setImageTypeIds(new ArrayList<Guid>());
-                        
param.getImageTypeIds().add(Guid.createGuidFromString("555d7a68-065f-4cc1-80f5-e7f86647c2ab"));
 //$NON-NLS-1$
-                        
param.getImageTypeIds().add(Guid.createGuidFromString("878b9644-0c6d-475b-965b-09a85409dbb5"));
 //$NON-NLS-1$
+//                        
param.getImageTypeIds().add(Guid.createGuidFromString("555d7a68-065f-4cc1-80f5-e7f86647c2ab"));
 //$NON-NLS-1$
+//                        
param.getImageTypeIds().add(Guid.createGuidFromString("878b9644-0c6d-475b-965b-09a85409dbb5"));
 //$NON-NLS-1$
 
                         setRngDeviceToParams(model, param);
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java
index 34f0d11..b5c9eb5 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java
@@ -757,7 +757,7 @@
         object.getIsDiscorveredHosts().getEntityChangedEvent().addListener(new 
IEventListener() {
             @Override
             public void eventRaised(Event ev, Object sender, EventArgs args) {
-                if (object.getIsDiscorveredHosts().getEntity() == true) {
+                if 
(Boolean.TRUE.equals(object.getIsDiscorveredHosts().getEntity())) {
                     rbDiscoveredHost.setValue(true);
                     showDiscoveredHostsWidgets(true);
                 } else {
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/instanceimages/InstanceImageEditor.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/instanceimages/InstanceImageEditor.java
new file mode 100644
index 0000000..aeb8f8b
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/instanceimages/InstanceImageEditor.java
@@ -0,0 +1,89 @@
+package org.ovirt.engine.ui.webadmin.section.main.view.popup.instanceimages;
+
+import com.google.gwt.core.shared.GWT;
+import com.google.gwt.editor.client.SimpleBeanEditorDriver;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.FlowPanel;
+import org.ovirt.engine.core.common.businessentities.VmTemplate;
+import org.ovirt.engine.ui.common.CommonApplicationTemplates;
+import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
+import org.ovirt.engine.ui.common.idhandler.WithElementId;
+import 
org.ovirt.engine.ui.common.widget.editor.ListModelTypeAheadListBoxEditor;
+import 
org.ovirt.engine.ui.common.widget.editor.generic.EntityModelCheckBoxEditor;
+import 
org.ovirt.engine.ui.common.widget.uicommon.popup.AbstractModelBoundPopupWidget;
+import org.ovirt.engine.ui.uicommonweb.models.vms.InstanceImageLineModel;
+
+public class InstanceImageEditor extends 
AbstractModelBoundPopupWidget<InstanceImageLineModel> {
+
+    public interface Driver extends 
SimpleBeanEditorDriver<InstanceImageLineModel, InstanceImageEditor> {
+    }
+
+    private final Driver driver = GWT.create(Driver.class);
+
+    interface WidgetUiBinder extends UiBinder<FlowPanel, InstanceImageEditor> {
+        WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class);
+    }
+
+    interface WidgetIdHandler extends ElementIdHandler<InstanceImageEditor> {
+        WidgetIdHandler idHandler = GWT.create(WidgetIdHandler.class);
+    }
+
+    @UiField(provided = true)
+    @Path(value = "instanceImage.selectedItem")
+    @WithElementId("instanceImage")
+    ListModelTypeAheadListBoxEditor<VmTemplate> instanceImage;
+
+    @UiField(provided = true)
+    @Path(value = "baseImage.selectedItem")
+    @WithElementId("baseImage")
+    ListModelTypeAheadListBoxEditor<VmTemplate> baseImage;
+
+    @UiField(provided = true)
+    @Path("master.entity")
+    @WithElementId("master")
+    EntityModelCheckBoxEditor master;
+
+    private final CommonApplicationTemplates applicationTemplates;
+
+    public InstanceImageEditor(final CommonApplicationTemplates 
applicationTemplates) {
+        this.applicationTemplates = applicationTemplates;
+
+        instanceImage = new ListModelTypeAheadListBoxEditor<VmTemplate>(new 
ListModelTypeAheadListBoxEditor.NullSafeSuggestBoxRenderer<VmTemplate>() {
+            @Override
+            public String getReplacementStringNullSafe(VmTemplate data) {
+                return data.getName();
+            }
+
+            @Override
+            public String getDisplayStringNullSafe(VmTemplate data) {
+                return applicationTemplates.typeAheadNameDescription(
+                        data.getName() != null ? data.getName() : "",
+                        data.getDescription() != null ? data.getDescription(): 
"")
+                        .asString();
+            }
+        });
+
+        baseImage = new ListModelTypeAheadListBoxEditor<VmTemplate>(new 
ListModelTypeAheadListBoxEditor.NullSafeSuggestBoxRenderer<VmTemplate>() {
+            @Override
+            public String getReplacementStringNullSafe(VmTemplate data) {
+                return data.getName();
+            }
+
+            @Override
+            public String getDisplayStringNullSafe(VmTemplate data) {
+                return "";
+            }
+        });
+    }
+
+    @Override
+    public void edit(InstanceImageLineModel model) {
+        driver.edit(model);
+    }
+
+    @Override
+    public InstanceImageLineModel flush() {
+        return driver.flush();
+    }
+}


-- 
To view, visit http://gerrit.ovirt.org/32731
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idc87a480515de4af9df8da32ec4a9c787e11cfd1
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Tomas Jelinek <tjeli...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to