Yaniv Bronhaim has uploaded a new change for review.

Change subject: ui: Enhance to multi line list box for discovered hosts info
......................................................................

ui: Enhance to multi line list box for discovered hosts info

Adding host group, discovered host and compute resource informations to
multi line list box using ListModelTypeAheadListBoxEditor.

Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1109543
Change-Id: I3013e6c27f214c92acd50f1867ae84e2e25fcf75
Signed-off-by: Yaniv Bronhaim <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanComputerResource.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanDiscoveredHost.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanHostGroup.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanHostProviderProxy.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalComputeResource.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalDiscoveredHost.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalHostGroup.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml
9 files changed, 146 insertions(+), 26 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/24/29124/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanComputerResource.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanComputerResource.java
index b0d8e11..78afe36 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanComputerResource.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanComputerResource.java
@@ -7,7 +7,13 @@
     private String name;
     private String url;
     private int id;
+    private String provider;
+    private String user;
 
+    public String getProvider() { return provider; }
+    public void setProvider(String provider) { this.provider = provider; }
+    public String getUser() { return user; }
+    public void setUser(String user) { this.user = user; }
     public String getName() {
         return name;
     }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanDiscoveredHost.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanDiscoveredHost.java
index dfd8bfd..c3feb38 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanDiscoveredHost.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanDiscoveredHost.java
@@ -7,7 +7,13 @@
     private String ip;
     private String name;
     private String mac;
+    private String last_report;
+    private String subnet_name;
 
+    public String getSubnet_name() { return subnet_name; }
+    public void setSubnet_name(String subnet_name) { this.subnet_name = 
subnet_name; }
+    public String getLast_report() { return last_report; }
+    public void setLast_report(String last_report) { this.last_report = 
last_report; }
     public String getMac() {
         return mac;
     }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanHostGroup.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanHostGroup.java
index 5e55dc8..5b12ddd 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanHostGroup.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanHostGroup.java
@@ -17,7 +17,19 @@
     private int architecture_id;
     private int[] puppetclass_ids;
     private Map<String, String> parameters;
+    private String subnet_name;
+    private String operatingsystem_name;
+    private String domain_name;
+    private String architecture_name;
 
+    public String getSubnet_name() { return subnet_name; }
+    public void setSubnet_name(String subnet_name) { this.subnet_name = 
subnet_name; }
+    public String getOperatingsystem_name() { return operatingsystem_name; }
+    public void setOperatingsystem_name(String operatingsystem_name) { 
this.operatingsystem_name = operatingsystem_name; }
+    public String getDomain_name() { return domain_name; }
+    public void setDomain_name(String domain_name) { this.domain_name = 
domain_name; }
+    public String getArchitecture_name() { return architecture_name; }
+    public void setArchitecture_name(String architecture_name) { 
this.architecture_name = architecture_name; }
     public int getPtable_id() {
         return ptable_id;
     }
@@ -30,9 +42,7 @@
     public void setMedium_id(int medium_id) {
         this.medium_id = medium_id;
     }
-    public int getArchitecture_id() {
-        return architecture_id;
-    }
+    public int getArchitecture_id() { return architecture_id; }
     public void setArchitecture_id(int architecture_id) {
         this.architecture_id = architecture_id;
     }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanHostProviderProxy.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanHostProviderProxy.java
index aacc446..8619cc9 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanHostProviderProxy.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/host/provider/foreman/ForemanHostProviderProxy.java
@@ -133,6 +133,8 @@
             computeResource.setName(cr.getName());
             computeResource.setUrl(cr.getUrl());
             computeResource.setId(cr.getId());
+            computeResource.setProvider(cr.getProvider());
+            computeResource.setUser(cr.getUser());
             crs.add(computeResource);
         }
         return crs;
@@ -156,6 +158,8 @@
             dhost.setName(host.getName());
             dhost.setIp(host.getIp());
             dhost.setMac(host.getMac());
+            dhost.setLastReport(host.getLast_report());
+            dhost.setSubnetName(host.getSubnet_name());
             hosts.add(dhost);
         }
         return hosts;
@@ -187,6 +191,10 @@
             hostgroup.setMediumId(hostGroup.getMedium_id());
             hostgroup.setArchitectureId(hostGroup.getArchitecture_id());
             hostgroup.setPtableId(hostGroup.getPtable_id());
+            
hostgroup.setOperatingsystemName(hostGroup.getOperatingsystem_name());
+            hostgroup.setDomainName(hostGroup.getDomain_name());
+            hostgroup.setSubnetName(hostGroup.getSubnet_name());
+            hostgroup.setArchitectureName(hostGroup.getArchitecture_name());
             hostGroups.add(hostgroup);
         }
         return hostGroups;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalComputeResource.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalComputeResource.java
index 912c65b..ab70e88 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalComputeResource.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalComputeResource.java
@@ -7,7 +7,13 @@
     private String name;
     private int id;
     private String url;
+    private String provider;
+    private String user;
 
+    public String getProvider() { return provider; }
+    public void setProvider(String provider) { this.provider = provider; }
+    public String getUser() { return user; }
+    public void setUser(String user) { this.user = user; }
     public String getName() {
         return name;
     }
@@ -24,4 +30,10 @@
     public void setId(int id) {
         this.id = id;
     }
+
+    public String getDescription() {
+        return "URL: " + url +
+               " | Provider: " + provider + "\n" +
+               " | User: " + user;
+    }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalDiscoveredHost.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalDiscoveredHost.java
index c9b2e92..c2d7d73 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalDiscoveredHost.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalDiscoveredHost.java
@@ -7,7 +7,13 @@
     private String ip;
     private String mac;
     private String name;
+    private String lastReport;
+    private String subnetName;
 
+    public String getSubnetName() { return subnetName; }
+    public void setSubnetName(String subnetName) { this.subnetName = 
subnetName; }
+    public String getLastReport() { return lastReport; }
+    public void setLastReport(String lastReport) { this.lastReport = 
lastReport; }
     public String getMac() {
         return mac;
     }
@@ -26,4 +32,10 @@
     public void setName(String name) {
         this.name = name;
     }
+
+    public String getDescription() {
+        return "MAC: " + mac + "\n" +
+               " | DiscoverTime : " + lastReport + "\n" +
+               " | Subnet: " + subnetName;
+    }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalHostGroup.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalHostGroup.java
index d960243..12255b9 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalHostGroup.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ExternalHostGroup.java
@@ -17,7 +17,19 @@
     private int mediumId;
     private int architectureId;
     private Map<String, String> parameters;
+    private String subnetName;
+    private String operatingsystemName;
+    private String domainName;
+    private String architectureName;
 
+    public String getArchitectureName() { return architectureName; }
+    public void setArchitectureName(String architectureName) { 
this.architectureName = architectureName; }
+    public String getDomainName() { return domainName; }
+    public void setDomainName(String domainName) { this.domainName = 
domainName; }
+    public String getOperatingsystemName() { return operatingsystemName; }
+    public void setOperatingsystemName(String operatingsystemName) { 
this.operatingsystemName = operatingsystemName; }
+    public String getSubnetName() { return subnetName; }
+    public void setSubnetName(String subnetName) { this.subnetName = 
subnetName; }
     public int getHostgroupId() {
         return hostgroupId;
     }
@@ -78,4 +90,11 @@
     public void setArchitectureId(int architectureId) {
         this.architectureId = architectureId;
     }
+
+    public String getDescription() {
+        return "OS: " + operatingsystemName + "\n" +
+               " | Subnet: " + subnetName + "\n" +
+               " | Domain: " + domainName + "\n" +
+               " | Arch: " + architectureName;
+    }
 }
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 b46d3e7..2935104 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
@@ -25,6 +25,7 @@
 import org.ovirt.engine.ui.common.widget.dialog.tab.DialogTab;
 import org.ovirt.engine.ui.common.widget.dialog.tab.DialogTabPanel;
 import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxOnlyEditor;
+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.editor.ListModelListBoxEditor;
 import 
org.ovirt.engine.ui.common.widget.editor.generic.IntegerEntityModelTextBoxEditor;
@@ -157,17 +158,17 @@
     @UiField(provided = true)
     @Path(value = "externalDiscoveredHosts.selectedItem")
     @WithElementId("externalDiscoveredHosts")
-    ListModelListBoxEditor<Object> externalDiscoveredHostsEditor;
+    ListModelTypeAheadListBoxEditor<Object> externalDiscoveredHostsEditor;
 
     @UiField(provided = true)
     @Path(value = "externalHostGroups.selectedItem")
     @WithElementId("externalHostGroups")
-    ListModelListBoxEditor<Object> externalHostGroupsEditor;
+    ListModelTypeAheadListBoxEditor<Object> externalHostGroupsEditor;
 
     @UiField(provided = true)
     @Path(value = "externalComputeResource.selectedItem")
     @WithElementId("externalComputeResource")
-    ListModelListBoxEditor<Object> externalComputeResourceEditor;
+    ListModelTypeAheadListBoxEditor<Object> externalComputeResourceEditor;
 
     @UiField
     @Path(value = "host.entity")
@@ -560,26 +561,65 @@
 
         pmSecondaryTypeEditor = new ListModelListBoxEditor<String>(new 
StringRenderer<String>());
 
-        externalDiscoveredHostsEditor = new ListModelListBoxEditor<Object>(new 
NullSafeRenderer<Object>() {
-            @Override
-            public String renderNullSafe(Object object) {
-                return ((ExternalDiscoveredHost) object).getName();
-            }
-        });
+        externalDiscoveredHostsEditor = new 
ListModelTypeAheadListBoxEditor<Object>(
+            new 
ListModelTypeAheadListBoxEditor.NullSafeSuggestBoxRenderer<Object>() {
 
-        externalHostGroupsEditor = new ListModelListBoxEditor<Object>(new 
NullSafeRenderer<Object>() {
-            @Override
-            protected String renderNullSafe(Object object) {
-                return ((ExternalHostGroup) object).getName();
-            }
-        });
+                @Override
+                public String getReplacementStringNullSafe(Object data) {
+                    ExternalDiscoveredHost host = (ExternalDiscoveredHost)data;
+                    return host.getName();
+                }
 
-        externalComputeResourceEditor = new ListModelListBoxEditor<Object>(new 
NullSafeRenderer<Object>() {
-            @Override
-            protected String renderNullSafe(Object object) {
-                return ((ExternalComputeResource) object).getName();
+                @Override
+                public String getDisplayStringNullSafe(Object data) {
+                    ExternalDiscoveredHost host = (ExternalDiscoveredHost)data;
+                    return typeAheadNameDescriptionTemplateNullSafe(
+                            host.getName(),
+                            host.getDescription()
+                    );
+                }
             }
-        });
+        );
+
+        externalHostGroupsEditor = new ListModelTypeAheadListBoxEditor<Object>(
+                new 
ListModelTypeAheadListBoxEditor.NullSafeSuggestBoxRenderer<Object>() {
+
+                    @Override
+                    public String getReplacementStringNullSafe(Object data) {
+                        ExternalHostGroup hg = (ExternalHostGroup)data;
+                        return hg.getName();
+                    }
+
+                    @Override
+                    public String getDisplayStringNullSafe(Object data) {
+                        ExternalHostGroup hg = (ExternalHostGroup)data;
+                        return typeAheadNameDescriptionTemplateNullSafe(
+                                hg.getName(),
+                                hg.getDescription()
+                        );
+                    }
+                }
+        );
+
+        externalComputeResourceEditor = new 
ListModelTypeAheadListBoxEditor<Object>(
+                new 
ListModelTypeAheadListBoxEditor.NullSafeSuggestBoxRenderer<Object>() {
+
+                    @Override
+                    public String getReplacementStringNullSafe(Object data) {
+                        ExternalComputeResource cr = 
(ExternalComputeResource)data;
+                        return cr.getName();
+                    }
+
+                    @Override
+                    public String getDisplayStringNullSafe(Object data) {
+                        ExternalComputeResource cr = 
(ExternalComputeResource)data;
+                        return typeAheadNameDescriptionTemplateNullSafe(
+                                cr.getName(),
+                                cr.getDescription()
+                        );
+                    }
+                }
+        );
 
         // Check boxes
         pmEnabledEditor = new EntityModelCheckBoxEditor(Align.RIGHT);
@@ -591,6 +631,13 @@
         rbProvisionedHost = new RadioButton("2"); //$NON-NLS-1$
     }
 
+    private String typeAheadNameDescriptionTemplateNullSafe(String name, 
String description) {
+        return applicationTemplates.typeAheadNameDescription(
+                name != null ? name : "",
+                description != null ? description : "")
+                .asString();
+    }
+
     void localize(ApplicationConstants constants) {
         // General tab
         generalTab.setLabel(constants.hostPopupGeneralTabLabel());
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml
index 9bbc836..c9429be 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml
@@ -275,9 +275,9 @@
                                         </g:FlowPanel>
                                     </g:FlowPanel>
                                     <g:FlowPanel 
ui:field="discoveredHostsPanel">
-                                        <e:ListModelListBoxEditor 
ui:field="externalDiscoveredHostsEditor"/>
-                                        <e:ListModelListBoxEditor 
ui:field="externalHostGroupsEditor"/>
-                                        <e:ListModelListBoxEditor 
ui:field="externalComputeResourceEditor"/>
+                                        <e:ListModelTypeAheadListBoxEditor 
ui:field="externalDiscoveredHostsEditor"/>
+                                        <e:ListModelTypeAheadListBoxEditor 
ui:field="externalHostGroupsEditor"/>
+                                        <e:ListModelTypeAheadListBoxEditor 
ui:field="externalComputeResourceEditor"/>
                                     </g:FlowPanel>
                                 </g:FlowPanel>
                                 <g:FlowPanel>


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3013e6c27f214c92acd50f1867ae84e2e25fcf75
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yaniv Bronhaim <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to