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