Alona Kaplan has uploaded a new change for review.

Change subject: webadmin: adding migration role to a network.
......................................................................

webadmin: adding migration role to a network.

Just one network in a cluster can have this role.

The effected dialogs are-
 Migration column was added-
   Network->Cluster->Assign/Unassing
   Cluster->Network->Assign/Unassign
 Migration icon was added to the roles icons on network panel and tooltip
   Network->Host->SetupNetworks
   Host->Network Interfaces->SetupNetworks

The effected sub-tabs are-
 The role column was update to show also migration network
   Network->Cluster
   Cluster->Network

Change-Id: I9752b182fd15f0557575ebe7e0271f6dd7a916f9
Signed-off-by: Alona Kaplan <alkap...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkClusterListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java
A 
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/migration_network.png
12 files changed, 210 insertions(+), 42 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/76/12976/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
index b5ee95c..2d4699f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
@@ -260,7 +260,8 @@
                 Network clusterNetwork = 
existingClusterNetworks.get(existingClusterNetworks.indexOf(network));
 
                 if ((networkModel.isRequired() != 
clusterNetwork.getCluster().isRequired())
-                        || (networkModel.isDisplayNetwork() != 
clusterNetwork.getCluster().isDisplay())) {
+                        || (networkModel.isDisplayNetwork() != 
clusterNetwork.getCluster().isDisplay())
+                        || (networkModel.isMigrationNetwork() != 
clusterNetwork.getCluster().isMigration())) {
                     needsUpdate = true;
                 }
             }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
index ac629df..5c3e44d 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
@@ -6,7 +6,7 @@
 
 public class ClusterNetworkManageModel extends ListModel{
 
-    public boolean isMultiDisplay(){
+    public boolean isMultiCluster(){
         return false;
     }
 
@@ -15,8 +15,8 @@
         return (List<ClusterNetworkModel>) super.getItems();
     }
 
-    public ClusterNetworkModel getDisplayNetwork(){
-        if (!isMultiDisplay()){
+    private ClusterNetworkModel getDisplayNetwork() {
+        if (!isMultiCluster()){
             for (ClusterNetworkModel clusterNetworkManageModel : getItems()) {
                 if (clusterNetworkManageModel.isDisplayNetwork()) {
                    return clusterNetworkManageModel;
@@ -27,7 +27,7 @@
     }
 
     public void setDisplayNetwork(ClusterNetworkModel model, boolean value){
-        if (!isMultiDisplay()){
+        if (!isMultiCluster()){
             // Reset the old display
             if (getDisplayNetwork()!= null){
                 getDisplayNetwork().setDisplayNetwork(!value);
@@ -36,4 +36,25 @@
         model.setDisplayNetwork(value);
     }
 
+    private ClusterNetworkModel getMigrationNetwork() {
+        if (!isMultiCluster()) {
+            for (ClusterNetworkModel clusterNetworkManageModel : getItems()) {
+                if (clusterNetworkManageModel.isMigrationNetwork()) {
+                    return clusterNetworkManageModel;
+                }
+            }
+        }
+        return null;
+    }
+
+    public void setMigrationNetwork(ClusterNetworkModel model, boolean value) {
+        if (!isMultiCluster()) {
+            // Reset the old migration
+            if (getMigrationNetwork() != null) {
+                getMigrationNetwork().setMigrationNetwork(!value);
+            }
+        }
+        model.setMigrationNetwork(value);
+    }
+
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java
index 5fb4449..c3cec12 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkModel.java
@@ -66,6 +66,10 @@
         return getEntity().isVmNetwork();
     }
 
+    public boolean isMigrationNetwork() {
+        return getEntity().getCluster().isMigration();
+    }
+
     public void setAttached(boolean attached) {
         this.attached = attached;
     }
@@ -86,4 +90,8 @@
         getEntity().setVmNetwork(vmNetwork);
     }
 
+    public void setMigrationNetwork(boolean migrationNetwork) {
+        getEntity().getCluster().setMigration(migrationNetwork);
+    }
+
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkClusterListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkClusterListModel.java
index d67aabd..3853921 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkClusterListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkClusterListModel.java
@@ -88,7 +88,7 @@
 
         ClusterNetworkManageModel listModel = new ClusterNetworkManageModel() {
             @Override
-            public boolean isMultiDisplay() {
+            public boolean isMultiCluster() {
                 return true;
             }
         };
@@ -125,7 +125,8 @@
             // Attachment wasn't changed- check if needs update
             if (wasAttached && !needsDetach) {
                 if ((manageModel.isRequired() != item.getSecond().isRequired())
-                        || (manageModel.isDisplayNetwork() != 
item.getSecond().isDisplay())) {
+                        || (manageModel.isDisplayNetwork() != 
item.getSecond().isDisplay())
+                        || (manageModel.isMigrationNetwork() != 
item.getSecond().isMigration())) {
                     needsUpdate = true;
                 }
             }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index f7d54a5..720d39f 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -1599,6 +1599,9 @@
     @DefaultStringValue("Display Network")
     String displayNetwork();
 
+    @DefaultStringValue("Migration Network")
+    String migrationNetwork();
+
     @DefaultStringValue("Role")
     String roleNetwork();
 
@@ -2090,6 +2093,9 @@
     @DefaultStringValue("Display")
     String displayItemInfo();
 
+    @DefaultStringValue("Migration")
+    String migrationItemInfo();
+
     @DefaultStringValue("Unmanaged Network")
     String unmanagedNetworkItemInfo();
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
index e1954f5..a6a7357 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
@@ -284,6 +284,9 @@
     @Source("images/network/network_vm.png")
     ImageResource networkVm();
 
+    @Source("images/network/migration_network.png")
+    ImageResource migrationNetwork();
+
     @Source("images/network/empty.png")
     ImageResource networkEmpty();
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java
index 1ee4f50..848b84b 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java
@@ -220,6 +220,26 @@
                 return ((ClusterNetworkModel) model).isAttached();
             }
         }, constants.displayNetwork(), "100px"); //$NON-NLS-1$
+
+        networks.addColumn(new CheckboxColumn<EntityModel>(new 
FieldUpdater<EntityModel, Boolean>() {
+            @Override
+            public void update(int index, EntityModel model, Boolean value) {
+                ClusterNetworkModel clusterNetworkManageModel = 
(ClusterNetworkModel) model;
+
+                
networks.flush().setMigrationNetwork(clusterNetworkManageModel, value);
+                refreshNetworksTable();
+            }
+        }) {
+            @Override
+            public Boolean getValue(EntityModel model) {
+                return ((ClusterNetworkModel) model).isMigrationNetwork();
+            }
+
+            @Override
+            protected boolean canEdit(EntityModel model) {
+                return ((ClusterNetworkModel) model).isAttached();
+            }
+        }, constants.migrationNetwork(), "100px"); //$NON-NLS-1$
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java
index db47346..436533d 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/ItemInfoPopup.java
@@ -31,6 +31,9 @@
     SafeHtml vmImage = 
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkVm()).getHTML());
     SafeHtml monitorImage = 
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkMonitor())
             .getHTML());
+    SafeHtml migrationImage =
+            
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.migrationNetwork())
+                    .getHTML());
     SafeHtml unknownImage =
             
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.questionMarkImage()).getHTML());
     SafeHtml notInSyncImage =
@@ -86,9 +89,15 @@
             }
         }
 
-        boolean isDisplay = entity.getCluster() != null ? 
entity.getCluster().isDisplay() : false;
+        boolean isDisplay = false;
+        boolean isMigration = false;
+
+        if (entity.getCluster() != null) {
+            isDisplay = entity.getCluster().isDisplay();
+            isMigration = entity.getCluster().isMigration();
+        }
         // Usages
-        if (networkModel.isManagement() || isDisplay || entity.isVmNetwork()) {
+        if (networkModel.isManagement() || isDisplay || entity.isVmNetwork() 
|| isMigration) {
 
             addRow(SafeHtmlUtils.fromString(constants.usageItemInfo() + ":")); 
//$NON-NLS-1$
             if (networkModel.isManagement()) {
@@ -103,6 +112,10 @@
                 addRow(templates.imageTextSetupNetworkUsage(vmImage, 
constants.vmItemInfo()));
             }
 
+            if (isMigration) {
+                addRow(templates.imageTextSetupNetworkUsage(migrationImage, 
constants.migrationItemInfo()));
+            }
+
         }
 
         // Mtu
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java
index cc22464..2a61105 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkPanel.java
@@ -37,18 +37,22 @@
         Image mgmtNetworkImage;
         Image vmImage;
         Image monitorImage;
+        Image migrationImage;
         Image notSyncImage;
 
         if (!network.isManaged()) {
             monitorImage = null;
             mgmtNetworkImage = null;
             vmImage = null;
+            migrationImage = null;
             notSyncImage = null;
         } else {
             monitorImage = network.getEntity().getCluster().isDisplay() ?
                     new Image(resources.networkMonitor()) : null;
             mgmtNetworkImage = network.isManagement() ? new 
Image(resources.mgmtNetwork()) : null;
             vmImage = network.getEntity().isVmNetwork() ? new 
Image(resources.networkVm()) : null;
+            migrationImage = network.getEntity().getCluster().isMigration() ?
+                    new Image(resources.migrationNetwork()) : null;
             notSyncImage = !network.isInSync() ? new 
Image(resources.networkNotSyncImage()) : null;
 
             if (network.isManagement()) {
@@ -63,12 +67,16 @@
                 monitorImage.setStylePrimaryName(style.networkImageBorder());
             }
 
+            if (network.getEntity().getCluster().isMigration()) {
+                migrationImage.setStylePrimaryName(style.networkImageBorder());
+            }
+
             if (!network.isInSync()) {
                 notSyncImage.setStylePrimaryName(style.networkImageBorder());
             }
         }
 
-        Grid rowPanel = new Grid(1, 8);
+        Grid rowPanel = new Grid(1, 9);
         rowPanel.setCellSpacing(3);
         rowPanel.setWidth("100%"); //$NON-NLS-1$
         rowPanel.setHeight("100%"); //$NON-NLS-1$
@@ -90,7 +98,8 @@
         rowPanel.setWidget(0, 4, mgmtNetworkImage);
         rowPanel.setWidget(0, 5, monitorImage);
         rowPanel.setWidget(0, 6, vmImage);
-        rowPanel.setWidget(0, 7, notSyncImage);
+        rowPanel.setWidget(0, 7, migrationImage);
+        rowPanel.setWidget(0, 8, notSyncImage);
         return rowPanel;
     }
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java
index 7762716..e60a607 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterNetworkView.java
@@ -8,17 +8,23 @@
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider;
 import org.ovirt.engine.ui.common.widget.table.column.EnumColumn;
+import 
org.ovirt.engine.ui.common.widget.table.column.SafeHtmlWithSafeHtmlTooltipColumn;
 import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.models.clusters.ClusterListModel;
 import org.ovirt.engine.ui.uicommonweb.models.clusters.ClusterNetworkListModel;
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
+import org.ovirt.engine.ui.webadmin.ApplicationResources;
+import org.ovirt.engine.ui.webadmin.ApplicationTemplates;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.cluster.SubTabClusterNetworkPresenter;
 import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabTableView;
 import org.ovirt.engine.ui.webadmin.widget.action.WebAdminButtonDefinition;
 import org.ovirt.engine.ui.webadmin.widget.table.column.NetworkStatusColumn;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.safehtml.shared.SafeHtml;
+import com.google.gwt.safehtml.shared.SafeHtmlUtils;
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
 
 public class SubTabClusterNetworkView extends 
AbstractSubTabTableView<VDSGroup, Network, ClusterListModel, 
ClusterNetworkListModel>
         implements SubTabClusterNetworkPresenter.ViewDef {
@@ -27,15 +33,27 @@
         ViewIdHandler idHandler = GWT.create(ViewIdHandler.class);
     }
 
+    private final SafeHtml displayImage;
+    private final SafeHtml migrationImage;
+    private final SafeHtml emptyImage;
+
     @Inject
-    public SubTabClusterNetworkView(SearchableDetailModelProvider<Network, 
ClusterListModel, ClusterNetworkListModel> modelProvider, ApplicationConstants 
constants) {
+    public SubTabClusterNetworkView(SearchableDetailModelProvider<Network, 
ClusterListModel, ClusterNetworkListModel> modelProvider,
+            ApplicationConstants constants,
+            ApplicationTemplates templates,
+            ApplicationResources resources) {
         super(modelProvider);
         ViewIdHandler.idHandler.generateAndSetIds(this);
-        initTable(constants);
+        displayImage =
+                
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkMonitor()).getHTML());
+        migrationImage =
+                
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.migrationNetwork()).getHTML());
+        emptyImage = 
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkEmpty()).getHTML());
+        initTable(constants, templates);
         initWidget(getTable());
     }
 
-    void initTable(final ApplicationConstants constants) {
+    void initTable(final ApplicationConstants constants, final 
ApplicationTemplates templates) {
         getTable().addColumn(new NetworkStatusColumn(), "", "20px"); 
//$NON-NLS-1$ //$NON-NLS-2$
 
         TextColumnWithTooltip<Network> nameColumn = new 
TextColumnWithTooltip<Network>() {
@@ -54,14 +72,55 @@
         };
         getTable().addColumn(statusColumn, constants.statusNetwork());
 
-        TextColumnWithTooltip<Network> roleColumn = new 
TextColumnWithTooltip<Network>() {
-            @Override
-            public String getValue(Network object) {
-                // according to ClusterNetworkListView.xaml:45
-                return (object.getCluster() == null ? false : 
object.getCluster().isDisplay()) ? constants.displayNetwork() : 
constants.empty();
-            }
-        };
-        getTable().addColumn(roleColumn, constants.roleNetwork());
+        SafeHtmlWithSafeHtmlTooltipColumn<Network> roleColumn =
+                new SafeHtmlWithSafeHtmlTooltipColumn<Network>() {
+                    @Override
+                    public SafeHtml getValue(Network network) {
+
+                        String images = ""; //$NON-NLS-1$
+
+                        if (network.getCluster() != null && 
network.getCluster().isDisplay()) {
+
+                            images = images.concat(displayImage.asString());
+                        } else {
+                            images = images.concat(emptyImage.asString());
+                        }
+
+                        if (network.getCluster() != null && 
network.getCluster().isMigration()) {
+                            images = images.concat(migrationImage.asString());
+                        } else {
+                            images = images.concat(emptyImage.asString());
+                        }
+
+                        return 
templates.image(SafeHtmlUtils.fromTrustedString(images));
+                    }
+
+                    @Override
+                    public SafeHtml getTooltip(Network network) {
+                        String tooltip = ""; //$NON-NLS-1$
+                        if (network.getCluster() != null && 
network.getCluster().isDisplay()) {
+                            tooltip =
+                                    
tooltip.concat(templates.imageTextSetupNetwork(displayImage,
+                                            
constants.displayItemInfo()).asString());
+                        }
+
+                        if (network.getCluster() != null && 
network.getCluster().isMigration()) {
+                            if (!"".equals(tooltip)) //$NON-NLS-1$
+                            {
+                                tooltip = tooltip.concat("<BR>"); //$NON-NLS-1$
+                            }
+                            tooltip =
+                                    
tooltip.concat(templates.imageTextSetupNetwork(migrationImage,
+                                            constants.migrationItemInfo())
+                                            .asString());
+
+                        }
+
+                        return SafeHtmlUtils.fromTrustedString(tooltip);
+                    }
+                };
+
+        getTable().addColumn(roleColumn, constants.roleNetwork(), "60px"); 
//$NON-NLS-1$
 
         TextColumnWithTooltip<Network> descColumn = new 
TextColumnWithTooltip<Network>() {
             @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java
index 78b0887..8c2aa20 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/network/SubTabNetworkClusterView.java
@@ -32,14 +32,20 @@
     private final ApplicationConstants constants;
     private final ApplicationTemplates templates;
 
-    private final SafeHtml dispalyImage;
+    private final SafeHtml displayImage;
+    private final SafeHtml migrationImage;
+    private final SafeHtml emptyImage;
 
     @Inject
     public 
SubTabNetworkClusterView(SearchableDetailModelProvider<PairQueryable<VDSGroup, 
NetworkCluster>, NetworkListModel, NetworkClusterListModel> modelProvider, 
ApplicationConstants constants, ApplicationTemplates templates, 
ApplicationResources resources) {
         super(modelProvider);
         this.constants = constants;
         this.templates = templates;
-        dispalyImage = 
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkMonitor()).getHTML());
+        displayImage =
+                
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkMonitor()).getHTML());
+        migrationImage =
+                
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.migrationNetwork()).getHTML());
+        emptyImage = 
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.networkEmpty()).getHTML());
         initTable();
         initWidget(getTable());
     }
@@ -97,29 +103,50 @@
         };
         getTable().addColumn(netRequiredColumn, 
constants.requiredNetCluster(), "120px"); //$NON-NLS-1$
 
-        SafeHtmlWithSafeHtmlTooltipColumn<PairQueryable<VDSGroup, 
NetworkCluster>> netRoleColumn = new 
SafeHtmlWithSafeHtmlTooltipColumn<PairQueryable<VDSGroup, NetworkCluster>>(){
+        SafeHtmlWithSafeHtmlTooltipColumn<PairQueryable<VDSGroup, 
NetworkCluster>> netRoleColumn =
+                new SafeHtmlWithSafeHtmlTooltipColumn<PairQueryable<VDSGroup, 
NetworkCluster>>() {
 
-            @Override
-            public SafeHtml getValue(PairQueryable<VDSGroup, NetworkCluster> 
object) {
-                if (object.getSecond() != null){
-                    if (object.getSecond().isDisplay()){
-                        return templates.image(dispalyImage);
+                    @Override
+                    public SafeHtml getValue(PairQueryable<VDSGroup, 
NetworkCluster> object) {
+                        String images = ""; //$NON-NLS-1$
+
+                        if (object.getSecond() != null) {
+                            if (object.getSecond().isDisplay()) {
+                                images = 
images.concat(displayImage.asString());
+                            } else {
+                                images = images.concat(emptyImage.asString());
+
+                            }
+                            if (object.getSecond().isMigration()) {
+                                images = 
images.concat(migrationImage.asString());
+                            } else {
+                                images = images.concat(emptyImage.asString());
+
+                            }
+                        }
+                        return 
templates.image(SafeHtmlUtils.fromTrustedString(images));
                     }
-                    return null;
-                }
 
-                return templates.image(SafeHtmlUtils.fromTrustedString("")); 
//$NON-NLS-1$
-            }
+                    @Override
+                    public SafeHtml getTooltip(PairQueryable<VDSGroup, 
NetworkCluster> object) {
+                        String tooltip = ""; //$NON-NLS-1$
+                        if (object.getSecond() != null && 
object.getSecond().isDisplay()) {
+                            tooltip = 
tooltip.concat(templates.imageTextSetupNetwork(displayImage,
+                                    constants.displayItemInfo()).asString());
+                        }
 
-            @Override
-            public SafeHtml getTooltip(PairQueryable<VDSGroup, NetworkCluster> 
object) {
-                if (object.getSecond() != null && 
object.getSecond().isDisplay()){
-                    return (templates.imageTextSetupNetwork(dispalyImage, 
constants.displayItemInfo()));
-                }
+                        if (object.getSecond() != null && 
object.getSecond().isMigration()) {
+                            if (!"".equals(tooltip)) //$NON-NLS-1$
+                            {
+                                tooltip = tooltip.concat("<BR>"); //$NON-NLS-1$
+                            }
+                            tooltip = 
tooltip.concat(templates.imageTextSetupNetwork(migrationImage,
+                                    constants.migrationItemInfo()).asString());
+                        }
 
-                return SafeHtmlUtils.fromTrustedString(""); //$NON-NLS-1$
-            }
-        };
+                        return SafeHtmlUtils.fromTrustedString(tooltip);
+                    }
+                };
 
         getTable().addColumn(netRoleColumn, constants.roleNetCluster(), 
"120px"); //$NON-NLS-1$
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/migration_network.png
 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/migration_network.png
new file mode 100644
index 0000000..b4ceef2
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/network/migration_network.png
Binary files differ


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

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

Reply via email to