Search in sources :

Example 6 with Interface

use of org.netxms.client.objects.Interface in project netxms by netxms.

the class GeneralInfo method fillTable.

/* (non-Javadoc)
	 * @see org.netxms.ui.eclipse.objectview.objecttabs.elements.TableElement#fillTable()
	 */
@Override
protected void fillTable() {
    final AbstractObject object = getObject();
    final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
    addPair(Messages.get().GeneralInfo_ID, Long.toString(object.getObjectId()));
    if (object.getGuid() != null)
        addPair(Messages.get().GeneralInfo_GUID, object.getGuid().toString());
    addPair(Messages.get().GeneralInfo_Class, object.getObjectClassName());
    if (object.isInMaintenanceMode())
        addPair(Messages.get().GeneralInfo_Status, StatusDisplayInfo.getStatusText(object.getStatus()) + Messages.get().GeneralInfo_Maintenance);
    else
        addPair(Messages.get().GeneralInfo_Status, StatusDisplayInfo.getStatusText(object.getStatus()));
    switch(object.getObjectClass()) {
        case AbstractObject.OBJECT_CHASSIS:
            Chassis chassis = (Chassis) object;
            if (chassis.getControllerId() != 0) {
                AbstractNode node = session.findObjectById(chassis.getControllerId(), AbstractNode.class);
                if (node != null) {
                    addPair(Messages.get().GeneralInfo_Controller, node.getObjectName());
                }
            }
            if (chassis.getRackId() != 0) {
                Rack rack = session.findObjectById(chassis.getRackId(), Rack.class);
                if (rack != null) {
                    addPair(Messages.get().GeneralInfo_Rack, String.format(Messages.get().GeneralInfo_Units, rack.getObjectName(), rack.isTopBottomNumbering() ? chassis.getRackPosition() : chassis.getRackPosition() - chassis.getRackHeight() + 1, rack.isTopBottomNumbering() ? chassis.getRackPosition() + chassis.getRackHeight() - 1 : chassis.getRackPosition()));
                }
            }
            break;
        case AbstractObject.OBJECT_INTERFACE:
            Interface iface = (Interface) object;
            Interface parentIface = iface.getParentInterface();
            if (parentIface != null)
                addPair("Parent interface", parentIface.getObjectName());
            addPair(Messages.get().GeneralInfo_IfIndex, Integer.toString(iface.getIfIndex()));
            String typeName = iface.getIfTypeName();
            // $NON-NLS-1$
            addPair(Messages.get().GeneralInfo_IfType, (typeName != null) ? String.format("%d (%s)", iface.getIfType(), typeName) : Integer.toString(iface.getIfType()));
            addPair(Messages.get().GeneralInfo_Description, iface.getDescription(), false);
            addPair(Messages.get().GeneralInfo_Alias, iface.getAlias(), false);
            if (iface.getMtu() > 0)
                addPair(Messages.get().GeneralInfo_MTU, Integer.toString(iface.getMtu()));
            if (iface.getSpeed() > 0)
                addPair(Messages.get().GeneralInfo_Speed, InterfaceListLabelProvider.ifSpeedTotext(iface.getSpeed()));
            addPair(Messages.get().GeneralInfo_MACAddr, iface.getMacAddress().toString());
            if ((iface.getFlags() & Interface.IF_PHYSICAL_PORT) != 0) {
                // $NON-NLS-1$
                addPair(Messages.get().GeneralInfo_SlotPort, Integer.toString(iface.getSlot()) + "/" + Integer.toString(iface.getPort()));
                AbstractNode node = iface.getParentNode();
                if ((node != null) && node.is8021xSupported()) {
                    addPair(Messages.get().GeneralInfo_8021xPAE, iface.getDot1xPaeStateAsText());
                    addPair(Messages.get().GeneralInfo_8021xBackend, iface.getDot1xBackendStateAsText());
                }
            }
            if (iface.getIpAddressList().size() > 0) {
                if (session.isZoningEnabled())
                    addPair(Messages.get().GeneralInfo_ZoneId, getZoneName(iface.getZoneId()));
                addPair(Messages.get().GeneralInfo_IPAddr, iface.getIpAddressList().get(0).toString());
                for (int i = 1; i < iface.getIpAddressList().size(); i++) // $NON-NLS-1$
                addPair("", iface.getIpAddressList().get(i).toString());
            }
            addPair(Messages.get().GeneralInfo_AdmState, iface.getAdminStateAsText());
            addPair(Messages.get().GeneralInfo_OperState, iface.getOperStateAsText());
            addPair(Messages.get().GeneralInfo_ExpectedState, ifaceExpectedState[iface.getExpectedState()]);
            break;
        case AbstractObject.OBJECT_NODE:
            AbstractNode node = (AbstractNode) object;
            if (session.isZoningEnabled())
                addPair(Messages.get().GeneralInfo_ZoneId, getZoneName(node.getZoneId()));
            addPair(Messages.get().GeneralInfo_PrimaryHostName, node.getPrimaryName());
            addPair(Messages.get().GeneralInfo_PrimaryIP, node.getPrimaryIP().getHostAddress());
            if (node.hasAgent())
                addPair(Messages.get().GeneralInfo_AgentVersion, node.getAgentVersion());
            addPair(Messages.get().GeneralInfo_SysDescr, node.getSystemDescription(), false);
            addPair(Messages.get().GeneralInfo_PlatformName, node.getPlatformName(), false);
            addPair(Messages.get().GeneralInfo_SysName, node.getSnmpSysName(), false);
            addPair(Messages.get().GeneralInfo_SysOID, node.getSnmpOID(), false);
            addPair(Messages.get().GeneralInfo_SNMPsysLocation, node.getSnmpSysLocation(), false);
            addPair(Messages.get().GeneralInfo_SNMPsysContact, node.getSnmpSysContact(), false);
            if ((node.getCapabilities() & AbstractNode.NC_IS_BRIDGE) != 0)
                addPair(Messages.get().GeneralInfo_BridgeBaseAddress, node.getBridgeBaseAddress().toString());
            addPair(Messages.get().GeneralInfo_Driver, node.getDriverName(), false);
            addPair(Messages.get().GeneralInfo_NodeType, node.getNodeType().toString(), false);
            if (node.getBootTime() != null)
                addPair(Messages.get().GeneralInfo_BootTime, RegionalSettings.getDateTimeFormat().format(node.getBootTime()), false);
            if (node.hasAgent())
                addPair(Messages.get().GeneralInfo_AgentStatus, (node.getStateFlags() & Node.NSF_AGENT_UNREACHABLE) != 0 ? Messages.get().GeneralInfo_Unreachable : Messages.get().GeneralInfo_Connected);
            if (node.getLastAgentCommTime() != null)
                addPair(Messages.get().GeneralInfo_LastAgentContact, RegionalSettings.getDateTimeFormat().format(node.getLastAgentCommTime()), false);
            if (node.getRackId() != 0) {
                Rack rack = session.findObjectById(node.getRackId(), Rack.class);
                if (rack != null) {
                    addPair(Messages.get().GeneralInfo_Rack, String.format(Messages.get().GeneralInfo_Units, rack.getObjectName(), rack.isTopBottomNumbering() ? node.getRackPosition() : node.getRackPosition() - node.getRackHeight() + 1, rack.isTopBottomNumbering() ? node.getRackPosition() + node.getRackHeight() - 1 : node.getRackPosition()));
                }
            }
            break;
        case AbstractObject.OBJECT_MOBILEDEVICE:
            MobileDevice md = (MobileDevice) object;
            if (md.getLastReportTime().getTime() == 0)
                addPair(Messages.get().GeneralInfo_LastReport, Messages.get().GeneralInfo_Never);
            else
                addPair(Messages.get().GeneralInfo_LastReport, RegionalSettings.getDateTimeFormat().format(md.getLastReportTime()));
            addPair(Messages.get().GeneralInfo_DeviceId, md.getDeviceId());
            addPair(Messages.get().GeneralInfo_Vendor, md.getVendor());
            addPair(Messages.get().GeneralInfo_Model, md.getModel());
            addPair(Messages.get().GeneralInfo_Serial, md.getSerialNumber());
            addPair(Messages.get().GeneralInfo_OS, md.getOsName());
            addPair(Messages.get().GeneralInfo_OSVersion, md.getOsVersion());
            addPair(Messages.get().GeneralInfo_User, md.getUserId(), false);
            if (md.getBatteryLevel() >= 0)
                // $NON-NLS-1$
                addPair(Messages.get().GeneralInfo_BatteryLevel, Integer.toString(md.getBatteryLevel()) + "%");
            break;
        case AbstractObject.OBJECT_SENSOR:
            Sensor sensor = (Sensor) object;
            addPair(Messages.get().SensorStatus_DeviceAddress, sensor.getDeviceAddress(), false);
            if (sensor.getMacAddress() != null && !sensor.getMacAddress().isNull())
                addPair(Messages.get().SensorStatus_MacAddress, sensor.getMacAddress().toString(), true);
            addPair(Messages.get().SensorStatus_Vendor, sensor.getVendor(), true);
            addPair(Messages.get().SensorStatus_DeviceClass, Sensor.DEV_CLASS_NAMES[sensor.getDeviceClass()]);
            addPair(Messages.get().SensorStatus_CommProtocol, Sensor.COMM_METHOD[sensor.getCommProtocol()]);
            addPair(Messages.get().SensorStatus_SerialNumber, sensor.getSerialNumber(), true);
            addPair(Messages.get().SensorStatus_MetaType, sensor.getMetaType(), true);
            addPair(Messages.get().SensorStatus_Description, sensor.getDescription(), true);
            if (sensor.getFrameCount() != 0)
                addPair(Messages.get().SensorStatus_FrameCount, Integer.toString(sensor.getFrameCount()));
            if (sensor.getSignalStrenght() != 1)
                addPair(Messages.get().SensorStatus_RSSI, Integer.toString(sensor.getSignalStrenght()));
            if (sensor.getSignalNoise() != Integer.MAX_VALUE)
                addPair(Messages.get().SensorStatus_SNR, Double.toString((double) sensor.getSignalNoise() / 10));
            if (sensor.getFrequency() != 0)
                addPair(Messages.get().SensorStatus_Frequency, Double.toString((double) sensor.getFrequency() / 10));
            break;
        case AbstractObject.OBJECT_ACCESSPOINT:
            AccessPoint ap = (AccessPoint) object;
            addPair(Messages.get().GeneralInfo_State, ap.getState().toString());
            addPair(Messages.get().GeneralInfo_Vendor, ap.getVendor());
            addPair(Messages.get().GeneralInfo_Model, ap.getModel());
            addPair(Messages.get().GeneralInfo_Serial, ap.getSerialNumber());
            addPair(Messages.get().GeneralInfo_MACAddr, ap.getMacAddress().toString());
            if (ap.getIpAddress().isValidAddress())
                addPair(Messages.get().GeneralInfo_IPAddr, ap.getIpAddress().getHostAddress());
            break;
        case AbstractObject.OBJECT_SUBNET:
            Subnet subnet = (Subnet) object;
            if (session.isZoningEnabled())
                addPair(Messages.get().GeneralInfo_ZoneId, getZoneName(subnet.getZoneId()));
            addPair(Messages.get().GeneralInfo_IPAddress, subnet.getNetworkAddress().toString());
            break;
        case AbstractObject.OBJECT_ZONE:
            Zone zone = (Zone) object;
            addPair(Messages.get().GeneralInfo_ZoneId, Long.toString(zone.getUIN()));
            break;
        case AbstractObject.OBJECT_NODELINK:
            AbstractNode linkedNode = (AbstractNode) session.findObjectById(((NodeLink) object).getNodeId(), AbstractNode.class);
            if (linkedNode != null)
                addPair(Messages.get().GeneralInfo_LinkedNode, linkedNode.getObjectName());
        case AbstractObject.OBJECT_BUSINESSSERVICE:
        case AbstractObject.OBJECT_BUSINESSSERVICEROOT:
            ServiceContainer service = (ServiceContainer) object;
            NumberFormat nf = NumberFormat.getNumberInstance();
            nf.setMinimumFractionDigits(3);
            nf.setMaximumFractionDigits(3);
            // $NON-NLS-1$
            addPair(Messages.get().GeneralInfo_UptimeDay, nf.format(service.getUptimeForDay()) + "%");
            // $NON-NLS-1$
            addPair(Messages.get().GeneralInfo_UptimeWeek, nf.format(service.getUptimeForWeek()) + "%");
            // $NON-NLS-1$
            addPair(Messages.get().GeneralInfo_UptimeMonth, nf.format(service.getUptimeForMonth()) + "%");
            break;
        case AbstractObject.OBJECT_SLMCHECK:
            ServiceCheck check = (ServiceCheck) object;
            addPair(Messages.get().GeneralInfo_IsTemplate, check.isTemplate() ? Messages.get().GeneralInfo_Yes : Messages.get().GeneralInfo_No);
            if (check.getTemplateId() != 0) {
                ServiceCheck tmpl = (ServiceCheck) session.findObjectById(check.getTemplateId(), ServiceCheck.class);
                if (tmpl != null)
                    addPair(Messages.get().GeneralInfo_Template, tmpl.getObjectName());
            }
            break;
        default:
            break;
    }
    if (object.getGeolocation().getType() != GeoLocation.UNSET)
        addPair(Messages.get().GeneralInfo_Location, object.getGeolocation().toString());
    if (!object.getPostalAddress().isEmpty())
        addPair(Messages.get().GeneralInfo_PostalAddress, object.getPostalAddress().getAddressLine());
}
Also used : Chassis(org.netxms.client.objects.Chassis) ServiceCheck(org.netxms.client.objects.ServiceCheck) NXCSession(org.netxms.client.NXCSession) AbstractNode(org.netxms.client.objects.AbstractNode) Zone(org.netxms.client.objects.Zone) AccessPoint(org.netxms.client.objects.AccessPoint) AccessPoint(org.netxms.client.objects.AccessPoint) Rack(org.netxms.client.objects.Rack) MobileDevice(org.netxms.client.objects.MobileDevice) ServiceContainer(org.netxms.client.objects.ServiceContainer) AbstractObject(org.netxms.client.objects.AbstractObject) NodeLink(org.netxms.client.objects.NodeLink) Subnet(org.netxms.client.objects.Subnet) Interface(org.netxms.client.objects.Interface) Sensor(org.netxms.client.objects.Sensor) NumberFormat(java.text.NumberFormat)

Example 7 with Interface

use of org.netxms.client.objects.Interface in project netxms by netxms.

the class ConnectionPointLabelProvider method getColumnText.

/* (non-Javadoc)
	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
	 */
@Override
public String getColumnText(Object element, int columnIndex) {
    ConnectionPoint cp = (ConnectionPoint) element;
    switch(columnIndex) {
        case HostSearchResults.COLUMN_SEQUENCE:
            return Integer.toString((Integer) cp.getData() + 1);
        case HostSearchResults.COLUMN_NODE:
            return getObjectName(cp.getLocalNodeId());
        case HostSearchResults.COLUMN_INTERFACE:
            return getObjectName(cp.getLocalInterfaceId());
        case HostSearchResults.COLUMN_MAC_ADDRESS:
            if (cp.getLocalMacAddress() == null)
                return "n/a";
            else
                return cp.getLocalMacAddress().toString();
        case HostSearchResults.COLUMN_IP_ADDRESS:
            InetAddress addr = cp.getLocalIpAddress();
            if (addr != null)
                return addr.getHostAddress();
            Interface iface = (Interface) session.findObjectById(cp.getLocalInterfaceId(), Interface.class);
            if (iface == null)
                // $NON-NLS-1$
                return "";
            InetAddress a = iface.getFirstUnicastAddress();
            // $NON-NLS-1$
            return (a != null) ? a.getHostAddress() : "";
        case HostSearchResults.COLUMN_SWITCH:
            if ((cp.getNodeId() == 0))
                return "n/a";
            else
                return getObjectName(cp.getNodeId());
        case HostSearchResults.COLUMN_PORT:
            if (cp.getInterfaceId() == 0)
                return "n/a";
            else
                return getObjectName(cp.getInterfaceId());
        case HostSearchResults.COLUMN_TYPE:
            if (cp.getType() == null)
                return "n/a";
            switch(cp.getType()) {
                case DIRECT:
                    return Messages.get().ConnectionPointLabelProvider_Direct;
                case INDIRECT:
                    return Messages.get().ConnectionPointLabelProvider_Indirect;
                case WIRELESS:
                    return Messages.get().ConnectionPointLabelProvider_Wireless;
                default:
                    return Messages.get().ConnectionPointLabelProvider_Unknown;
            }
    }
    return null;
}
Also used : InetAddress(java.net.InetAddress) ConnectionPoint(org.netxms.client.topology.ConnectionPoint) Interface(org.netxms.client.objects.Interface)

Example 8 with Interface

use of org.netxms.client.objects.Interface in project netxms by netxms.

the class VlanLabelProvider method buildPortList.

/**
 * Build list of ports in VLAN
 *
 * @param vlan VLAN object
 * @return port list
 */
private String buildPortList(VlanInfo vlan) {
    List<Port> ports = new ArrayList<Port>(Arrays.asList(vlan.getPorts()));
    if (ports.size() == 0)
        // $NON-NLS-1$
        return "";
    StringBuilder sb = new StringBuilder();
    // Add non-physical ports first
    List<Port> physicalPorts = new ArrayList<Port>();
    Iterator<Port> it = ports.iterator();
    while (it.hasNext()) {
        Port p = it.next();
        Interface iface = (Interface) session.findObjectById(p.getObjectId(), Interface.class);
        if (iface != null) {
            if (!iface.isPhysicalPort()) {
                Interface parent = iface.getParentInterface();
                if ((parent != null) && parent.isPhysicalPort()) {
                    physicalPorts.add(new Port(parent.getObjectId(), parent.getIfIndex(), parent.getSlot(), parent.getPort()));
                } else {
                    if (sb.length() > 0)
                        sb.append(',');
                    sb.append(iface.getObjectName());
                    it.remove();
                }
            } else {
                physicalPorts.add(p);
            }
        } else {
            physicalPorts.add(p);
        }
    }
    if (physicalPorts.size() == 0)
        return sb.toString();
    Collections.sort(physicalPorts, new Comparator<Port>() {

        @Override
        public int compare(Port p1, Port p2) {
            return (p1.getSlot() == p2.getSlot()) ? p1.getPort() - p2.getPort() : p1.getSlot() - p2.getSlot();
        }
    });
    int slot = physicalPorts.get(0).getSlot();
    int lastPort = ports.get(0).getPort();
    int firstPort = lastPort;
    if (sb.length() > 0)
        sb.append(',');
    sb.append(slot);
    sb.append('/');
    sb.append(firstPort);
    int i;
    for (i = 1; i < physicalPorts.size(); i++) {
        if ((physicalPorts.get(i).getSlot() == slot) && (physicalPorts.get(i).getPort() == lastPort + 1)) {
            lastPort++;
            continue;
        }
        // If previous series was not single port, add ending port
        if (physicalPorts.get(i - 1).getPort() != firstPort) {
            if (lastPort - firstPort > 1)
                sb.append('-');
            else
                sb.append(',');
            sb.append(slot);
            sb.append('/');
            sb.append(lastPort);
        }
        slot = physicalPorts.get(i).getSlot();
        lastPort = physicalPorts.get(i).getPort();
        firstPort = lastPort;
        sb.append(',');
        sb.append(slot);
        sb.append('/');
        sb.append(lastPort);
    }
    // If previous series was not single port, add ending port
    if (physicalPorts.get(i - 1).getPort() != firstPort) {
        if (lastPort - firstPort > 1)
            sb.append('-');
        else
            sb.append(',');
        sb.append(slot);
        sb.append('/');
        sb.append(lastPort);
    }
    return sb.toString();
}
Also used : Port(org.netxms.client.topology.Port) ArrayList(java.util.ArrayList) Interface(org.netxms.client.objects.Interface)

Example 9 with Interface

use of org.netxms.client.objects.Interface in project netxms by netxms.

the class DeviceView method setHighlight.

/**
 * Set port highlight
 *
 * @param ports
 */
public void setHighlight(Port[] ports) {
    clearHighlight(false);
    for (Port p : ports) {
        // for physical port flag
        if ((p.getSlot() == 0) && (p.getPort() == 0)) {
            Interface iface = session.findObjectById(p.getObjectId(), Interface.class);
            if (iface == null)
                continue;
            if (!iface.isPhysicalPort()) {
                Interface parent = iface.getParentInterface();
                if ((parent == null) || !parent.isPhysicalPort())
                    continue;
                p = new Port(parent.getObjectId(), parent.getIfIndex(), parent.getSlot(), parent.getPort());
            }
        }
        SlotView sv = slots.get(p.getSlot());
        if (sv != null) {
            sv.addHighlight(p);
        }
    }
    for (SlotView sv : slots.values()) sv.redraw();
}
Also used : Port(org.netxms.client.topology.Port) Interface(org.netxms.client.objects.Interface)

Example 10 with Interface

use of org.netxms.client.objects.Interface in project netxms by netxms.

the class InterfacesAdapter method getGroupView.

@SuppressWarnings("deprecation")
@SuppressLint("InflateParams")
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
    if (convertView == null) {
        LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = layoutInflater.inflate(R.layout.interfaces_group, null);
    }
    Interface i = (Interface) getChild(groupPosition, 0);
    TextView tv = (TextView) convertView.findViewById(R.id.interface_text);
    tv.setText(" " + i.getObjectName());
    tv.setCompoundDrawablesWithIntrinsicBounds(parent.getResources().getDrawable(getInterfaceStatusIcon(i.getStatus())), null, null, null);
    return convertView;
}
Also used : LayoutInflater(android.view.LayoutInflater) TextView(android.widget.TextView) Interface(org.netxms.client.objects.Interface) SuppressLint(android.annotation.SuppressLint)

Aggregations

Interface (org.netxms.client.objects.Interface)23 AbstractObject (org.netxms.client.objects.AbstractObject)12 AbstractNode (org.netxms.client.objects.AbstractNode)6 AccessPoint (org.netxms.client.objects.AccessPoint)6 Node (org.netxms.client.objects.Node)5 ArrayList (java.util.ArrayList)4 HashSet (java.util.HashSet)3 Sensor (org.netxms.client.objects.Sensor)3 ConnectionPoint (org.netxms.client.topology.ConnectionPoint)3 SortableTableViewer (org.netxms.ui.eclipse.widgets.SortableTableViewer)3 SuppressLint (android.annotation.SuppressLint)2 InetAddress (java.net.InetAddress)2 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)2 Action (org.eclipse.jface.action.Action)2 ArrayContentProvider (org.eclipse.jface.viewers.ArrayContentProvider)2 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)2 InetAddressEx (org.netxms.base.InetAddressEx)2 NXCSession (org.netxms.client.NXCSession)2 GenericObject (org.netxms.client.objects.GenericObject)2 NetworkService (org.netxms.client.objects.NetworkService)2