package com.netifera.platform.net.wifi.ui.views; import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.swt.graphics.Image; import com.netifera.platform.net.model.NetworkAddressEntity; import com.netifera.platform.net.wifi.model.AccessPointEntity; import com.netifera.platform.net.wifi.model.ExtendedServiceSetEntity; import com.netifera.platform.net.wifi.model.WirelessStationEntity; import com.netifera.platform.ui.images.ImageCache; public class WirelessLabelProvider extends ColumnLabelProvider { private final static String PLUGIN_ID = "com.netifera.platform.net.wifi.ui"; private final ImageCache images = new ImageCache(PLUGIN_ID); private static final String ESS_IMAGE = "icons/wifi.png"; private static final String ESS_ENCRYPTED_IMAGE = "icons/wifi_encrypted.png"; private static final String AP_IMAGE = "icons/accesspoint.png"; private static final String STATION_IMAGE = "icons/wifi16.png"; public Image getImage(Object element){ if(element instanceof ExtendedServiceSetEntity) { if(((ExtendedServiceSetEntity)element).isEncrypted()) return images.get(ESS_ENCRYPTED_IMAGE); else return images.get(ESS_IMAGE); } else if(element instanceof AccessPointEntity) { return images.get(AP_IMAGE); } else if(element instanceof WirelessStationEntity) { return images.get(STATION_IMAGE); } return null; } public String getText(Object element) { if(element instanceof ExtendedServiceSetEntity) return ((ExtendedServiceSetEntity)element).getName(); else if(element instanceof AccessPointEntity) return accessPointText((AccessPointEntity) element); else if(element instanceof WirelessStationEntity) return stationText((WirelessStationEntity) element); else return "??"; } private String accessPointText(AccessPointEntity ap) { return ap.getBSSID().toString(); } private String stationText(WirelessStationEntity station) { NetworkAddressEntity networkAddress = station.getNetworkAddress(); if(networkAddress != null) { return station.getAddress().toString() + " (" + networkAddress.getAddressString() + ")"; } return station.getAddress().toString(); } }