Search in sources :

Example 16 with AbstractNode

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

the class HistoricalDataView method init.

/* (non-Javadoc)
	 * @see org.eclipse.ui.part.ViewPart#init(org.eclipse.ui.IViewSite)
	 */
@Override
public void init(IViewSite site) throws PartInitException {
    super.init(site);
    session = (NXCSession) ConsoleSharedData.getSession();
    // Secondary ID must by in form nodeId&dciId
    // $NON-NLS-1$
    String[] parts = site.getSecondaryId().split("&");
    if (parts.length != 2)
        // $NON-NLS-1$
        throw new PartInitException("Internal error");
    nodeId = Long.parseLong(parts[0]);
    AbstractObject object = session.findObjectById(nodeId);
    if ((object == null) || (!(object instanceof AbstractNode) && !(object instanceof MobileDevice) && !(object instanceof Cluster) && !(object instanceof Sensor)))
        throw new PartInitException(Messages.get().HistoricalDataView_InvalidObjectID);
    nodeName = object.getObjectName();
    if (parts[1].contains("@")) {
        subparts = parts[1].split("@");
        try {
            dciId = Long.parseLong(subparts[0]);
            // $NON-NLS-1$
            tableName = URLDecoder.decode(subparts[1], "UTF-8");
            // $NON-NLS-1$
            instance = URLDecoder.decode(subparts[2], "UTF-8");
            // $NON-NLS-1$
            column = URLDecoder.decode(subparts[3], "UTF-8");
        } catch (NumberFormatException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    } else {
        dciId = Long.parseLong(parts[1]);
    }
    // $NON-NLS-1$ //$NON-NLS-2$
    setPartName(nodeName + ": [" + (tableName == null ? Long.toString(dciId) : tableName) + "]");
}
Also used : MobileDevice(org.netxms.client.objects.MobileDevice) AbstractNode(org.netxms.client.objects.AbstractNode) AbstractObject(org.netxms.client.objects.AbstractObject) Cluster(org.netxms.client.objects.Cluster) UnsupportedEncodingException(java.io.UnsupportedEncodingException) PartInitException(org.eclipse.ui.PartInitException) Sensor(org.netxms.client.objects.Sensor)

Example 17 with AbstractNode

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

the class NodesTab method refresh.

/* (non-Javadoc)
	 * @see org.netxms.ui.eclipse.objectview.objecttabs.ObjectTab#refresh()
	 */
@Override
public void refresh() {
    if (getObject() != null) {
        if (getObject() instanceof Subnet) {
            viewer.setInput(getObject().getChildsAsArray());
        } else {
            List<AbstractObject> list = new ArrayList<AbstractObject>();
            for (AbstractObject o : getObject().getChildsAsArray()) {
                if (o instanceof AbstractNode)
                    list.add(o);
            }
            viewer.setInput(list.toArray());
        }
    } else {
        viewer.setInput(new AbstractNode[0]);
    }
}
Also used : AbstractNode(org.netxms.client.objects.AbstractNode) AbstractObject(org.netxms.client.objects.AbstractObject) ArrayList(java.util.ArrayList) Subnet(org.netxms.client.objects.Subnet)

Example 18 with AbstractNode

use of org.netxms.client.objects.AbstractNode 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 19 with AbstractNode

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

the class Capabilities method fillTable.

/* (non-Javadoc)
	 * @see org.netxms.ui.eclipse.objectview.objecttabs.elements.TableElement#fillTable()
	 */
@Override
protected void fillTable() {
    if (!(getObject() instanceof AbstractNode))
        return;
    AbstractNode node = (AbstractNode) getObject();
    addFlag(Messages.get().Capabilities_FlagIsAgent, (node.getCapabilities() & AbstractNode.NC_IS_NATIVE_AGENT) != 0);
    addFlag(Messages.get().Capabilities_FlagIsBridge, (node.getCapabilities() & AbstractNode.NC_IS_BRIDGE) != 0);
    addFlag(Messages.get().Capabilities_FlagIsCDP, (node.getCapabilities() & AbstractNode.NC_IS_CDP) != 0);
    addFlag(Messages.get().Capabilities_FlagIsDot1x, (node.getCapabilities() & AbstractNode.NC_IS_8021X) != 0);
    addFlag(Messages.get().Capabilities_FlagIsLLDP, (node.getCapabilities() & AbstractNode.NC_IS_LLDP) != 0);
    addFlag(Messages.get().Capabilities_FlagIsNDP, (node.getCapabilities() & AbstractNode.NC_IS_NDP) != 0);
    addFlag(Messages.get().Capabilities_FlagIsPrinter, (node.getCapabilities() & AbstractNode.NC_IS_PRINTER) != 0);
    addFlag(Messages.get().Capabilities_FlagIsRouter, (node.getCapabilities() & AbstractNode.NC_IS_ROUTER) != 0);
    addFlag(Messages.get().Capabilities_FlagIsSMCLP, (node.getCapabilities() & AbstractNode.NC_IS_SMCLP) != 0);
    addFlag(Messages.get().Capabilities_FlagIsSNMP, (node.getCapabilities() & AbstractNode.NC_IS_SNMP) != 0);
    addFlag(Messages.get().Capabilities_FlagIsSTP, (node.getCapabilities() & AbstractNode.NC_IS_STP) != 0);
    addFlag(Messages.get().Capabilities_FlagIsVRRP, (node.getCapabilities() & AbstractNode.NC_IS_VRRP) != 0);
    addFlag(Messages.get().Capabilities_FlagHasEntityMIB, (node.getCapabilities() & AbstractNode.NC_HAS_ENTITY_MIB) != 0);
    addFlag(Messages.get().Capabilities_FlagHasIfXTable, (node.getCapabilities() & AbstractNode.NC_HAS_IFXTABLE) != 0);
    if ((node.getCapabilities() & AbstractNode.NC_IS_SNMP) != 0) {
        addPair(Messages.get().Capabilities_SNMPPort, Integer.toString(node.getSnmpPort()));
        addPair(Messages.get().Capabilities_SNMPVersion, getSnmpVersionName(node.getSnmpVersion()));
    }
}
Also used : AbstractNode(org.netxms.client.objects.AbstractNode)

Example 20 with AbstractNode

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

the class ObjectStatusMap method buildSection.

/**
 * Build section of the form corresponding to one container
 */
private void buildSection(long rootId, String namePrefix) {
    AbstractObject root = session.findObjectById(rootId);
    if ((root == null) || !((root instanceof Container) || (root instanceof ServiceRoot) || (root instanceof Cluster)))
        return;
    List<AbstractObject> objects = new ArrayList<AbstractObject>(Arrays.asList(root.getChildsAsArray()));
    Collections.sort(objects, new Comparator<AbstractObject>() {

        @Override
        public int compare(AbstractObject o1, AbstractObject o2) {
            return o1.getObjectName().compareToIgnoreCase(o2.getObjectName());
        }
    });
    Composite section = null;
    Composite clientArea = null;
    // Add nodes and clusters
    for (AbstractObject o : objects) {
        if (!((o instanceof AbstractNode) || (o instanceof Cluster)))
            continue;
        if (!isAcceptedByFilter(o))
            continue;
        if (section == null) {
            section = new Composite(dataArea, SWT.NONE);
            section.setBackground(getBackground());
            GridData gd = new GridData();
            gd.grabExcessHorizontalSpace = true;
            gd.horizontalAlignment = SWT.FILL;
            section.setLayoutData(gd);
            GridLayout layout = new GridLayout();
            layout.marginHeight = 0;
            layout.marginWidth = 0;
            section.setLayout(layout);
            final Label title = new Label(section, SWT.NONE);
            title.setBackground(getBackground());
            title.setFont(titleFont);
            title.setText(namePrefix + root.getObjectName());
            clientArea = new Composite(section, SWT.NONE);
            clientArea.setBackground(getBackground());
            gd = new GridData();
            gd.grabExcessHorizontalSpace = true;
            gd.horizontalAlignment = SWT.FILL;
            clientArea.setLayoutData(gd);
            RowLayout clayout = new RowLayout();
            clayout.marginBottom = 0;
            clayout.marginTop = 0;
            clayout.marginLeft = 0;
            clayout.marginRight = 0;
            clayout.type = SWT.HORIZONTAL;
            clayout.wrap = true;
            clayout.pack = false;
            clientArea.setLayout(clayout);
            sections.add(section);
        }
        addObjectElement(clientArea, o);
    }
    // Add subcontainers
    for (AbstractObject o : objects) {
        if (!(o instanceof Container) && !(o instanceof ServiceRoot) && !(o instanceof Cluster))
            continue;
        // $NON-NLS-1$
        buildSection(o.getObjectId(), namePrefix + root.getObjectName() + " / ");
    }
}
Also used : Composite(org.eclipse.swt.widgets.Composite) AbstractNode(org.netxms.client.objects.AbstractNode) ArrayList(java.util.ArrayList) Label(org.eclipse.swt.widgets.Label) Cluster(org.netxms.client.objects.Cluster) ServiceRoot(org.netxms.client.objects.ServiceRoot) Container(org.netxms.client.objects.Container) GridLayout(org.eclipse.swt.layout.GridLayout) AbstractObject(org.netxms.client.objects.AbstractObject) RowLayout(org.eclipse.swt.layout.RowLayout) GridData(org.eclipse.swt.layout.GridData)

Aggregations

AbstractNode (org.netxms.client.objects.AbstractNode)47 AbstractObject (org.netxms.client.objects.AbstractObject)27 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)14 NXCSession (org.netxms.client.NXCSession)13 ArrayList (java.util.ArrayList)12 Cluster (org.netxms.client.objects.Cluster)9 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)6 Composite (org.eclipse.swt.widgets.Composite)6 PartInitException (org.eclipse.ui.PartInitException)6 MobileDevice (org.netxms.client.objects.MobileDevice)6 ConsoleJob (org.netxms.ui.eclipse.jobs.ConsoleJob)6 NXCException (org.netxms.client.NXCException)5 Interface (org.netxms.client.objects.Interface)5 Sensor (org.netxms.client.objects.Sensor)5 HashMap (java.util.HashMap)4 HashSet (java.util.HashSet)4 GridLayout (org.eclipse.swt.layout.GridLayout)4 DataCollectionItem (org.netxms.client.datacollection.DataCollectionItem)4 Subnet (org.netxms.client.objects.Subnet)4 ISelection (org.eclipse.jface.viewers.ISelection)3