use of org.ovirt.engine.ui.webadmin.widget.renderer.HostVLanNameRenderer in project ovirt-engine by oVirt.
the class HostNetworkInterfaceListViewItem method createLogicalNetworkContainer.
private Container createLogicalNetworkContainer() {
List<HostVLan> logicalNetworks = calculateLogicalNetworks(getEntity());
Row content = new Row();
Column gridColumn = new Column(ColumnSize.SM_12);
content.add(gridColumn);
Container container = createItemContainerPanel(content);
CellTable<HostVLan> logicalNetworkTable = new CellTable<>(MAX_LOGICAL_NETWORKS, (Resources) GWT.create(CellTablePopupTableResources.class));
logicalNetworkTable.getElement().addClassName(Styles.TABLE);
logicalNetworkTable.getElement().addClassName(PatternflyConstants.PF_TABLE_STRIPED);
logicalNetworkTable.getElement().addClassName(PatternflyConstants.PF_TABLE_BORDERED);
ListDataProvider<HostVLan> logicalNetworkDataProvider = new ListDataProvider<>();
logicalNetworkDataProvider.addDataDisplay(logicalNetworkTable);
logicalNetworkDataProvider.setList(logicalNetworks);
final HostVLanNameRenderer renderer = new HostVLanNameRenderer();
// Setup columns
AbstractIconTypeColumn<HostVLan> management = new AbstractIconTypeColumn<HostVLan>() {
@Override
public IconType getValue(HostVLan logicalNetwork) {
if (logicalNetwork.getInterface() != null && logicalNetwork.getInterface().getIsManagement()) {
return IconType.INSTITUTION;
}
return null;
}
@Override
public SafeHtml getTooltip(HostVLan logicalNetwork) {
return SafeHtmlUtils.fromSafeConstant(constants.managementNetworkLabel());
}
};
IconTypeHeader managementHeader = new IconTypeHeader(IconType.INSTITUTION, ICON_COLOR, SafeHtmlUtils.fromSafeConstant(constants.managementNetworkLabel()));
management.getCell().setColor(SafeHtmlUtils.fromSafeConstant(ICON_COLOR));
logicalNetworkTable.addColumn(management, managementHeader);
// $NON-NLS-1$
logicalNetworkTable.setColumnWidth(management, "40px");
AbstractIconTypeColumn<HostVLan> sync = new AbstractIconTypeColumn<HostVLan>() {
@Override
public IconType getValue(HostVLan logicalNetwork) {
if (logicalNetwork != null && logicalNetwork.getInterface() != null && isOutOfSync(logicalNetwork.getInterface().getNetworkImplementationDetails())) {
return IconType.CHAIN_BROKEN;
}
return null;
}
@Override
public SafeHtml getTooltip(HostVLan logicalNetwork) {
return SafeHtmlUtils.fromSafeConstant(constants.hostOutOfSync());
}
};
IconTypeHeader syncHeader = new IconTypeHeader(IconType.CHAIN_BROKEN, ICON_COLOR, SafeHtmlUtils.fromSafeConstant(constants.hostOutOfSync()));
sync.getCell().setColor(SafeHtmlUtils.fromSafeConstant(RED));
logicalNetworkTable.addColumn(sync, syncHeader);
// $NON-NLS-1$
logicalNetworkTable.setColumnWidth(sync, "40px");
TextColumn<HostVLan> vlan = new TextColumn<HostVLan>() {
@Override
public String getValue(HostVLan logicalNetwork) {
if (logicalNetwork == null || logicalNetwork.getName() == null || logicalNetwork.getName().isEmpty()) {
return "";
}
return renderer.render(logicalNetwork);
}
};
// $NON-NLS-1$
logicalNetworkTable.setColumnWidth(vlan, "175px");
logicalNetworkTable.addColumn(vlan, constants.vlanInterface());
TextColumn<HostVLan> networkName = new TextColumn<HostVLan>() {
@Override
public String getValue(HostVLan logicalNetwork) {
return logicalNetwork.getNetworkName();
}
};
// $NON-NLS-1$
logicalNetworkTable.setColumnWidth(networkName, "175px");
logicalNetworkTable.addColumn(networkName, constants.networkNameInterface());
TextColumn<HostVLan> ipv4 = new TextColumn<HostVLan>() {
@Override
public String getValue(HostVLan logicalNetwork) {
return logicalNetwork.getIpv4Address() != null ? logicalNetwork.getIpv4Address() : "";
}
};
// $NON-NLS-1$
logicalNetworkTable.setColumnWidth(ipv4, "175px");
logicalNetworkTable.addColumn(ipv4, constants.ipv4AddressInterface());
TextColumn<HostVLan> ipv6 = new TextColumn<HostVLan>() {
@Override
public String getValue(HostVLan logicalNetwork) {
return logicalNetwork.getIpv6Address() != null ? logicalNetwork.getIpv6Address() : "";
}
};
// $NON-NLS-1$
logicalNetworkTable.setColumnWidth(ipv6, "175px");
logicalNetworkTable.addColumn(ipv6, constants.ipv6AddressInterface());
TextColumn<HostVLan> emptyTail = new TextColumn<HostVLan>() {
@Override
public String getValue(HostVLan logicalNetwork) {
return "";
}
};
logicalNetworkTable.addColumn(emptyTail, "");
gridColumn.add(logicalNetworkTable);
return container;
}
Aggregations