Search in sources :

Example 11 with InetAddressListElement

use of org.netxms.client.InetAddressListElement in project netxms by netxms.

the class AddressListElementComparator method compare.

/**
 * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
 */
@Override
public int compare(Viewer viewer, Object e1, Object e2) {
    InetAddressListElement a1 = (InetAddressListElement) e1;
    InetAddressListElement a2 = (InetAddressListElement) e2;
    int result;
    switch(// $NON-NLS-1$
    (Integer) ((SortableTableViewer) viewer).getTable().getSortColumn().getData("ID")) {
        case NetworkDiscoveryConfigurator.RANGE:
            result = ComparatorHelper.compareInetAddresses(a1.getBaseAddress(), a2.getBaseAddress());
            if (result == 0) {
                result = a1.getType() - a2.getType();
                if (result == 0) {
                    result = (a1.getType() == InetAddressListElement.SUBNET) ? a1.getMaskBits() - a2.getMaskBits() : ComparatorHelper.compareInetAddresses(a1.getEndAddress(), a2.getEndAddress());
                }
            }
            break;
        case NetworkDiscoveryConfigurator.PROXY:
            if (isDiscoveryTarget) {
                String name1 = (a1.getProxyId() != 0) ? session.getObjectName(a1.getProxyId()) : session.getZoneName(a1.getZoneUIN());
                String name2 = (a2.getProxyId() != 0) ? session.getObjectName(a2.getProxyId()) : session.getZoneName(a2.getZoneUIN());
                result = name1.compareTo(name2);
            } else
                result = a1.getComment().compareTo(a2.getComment());
            break;
        case NetworkDiscoveryConfigurator.COMMENTS:
            result = a1.getComment().compareTo(a2.getComment());
            break;
        default:
            result = 0;
            break;
    }
    return (((SortableTableViewer) viewer).getTable().getSortDirection() == SWT.UP) ? result : -result;
}
Also used : InetAddressListElement(org.netxms.client.InetAddressListElement) SortableTableViewer(org.netxms.nxmc.base.widgets.SortableTableViewer)

Example 12 with InetAddressListElement

use of org.netxms.client.InetAddressListElement in project netxms by netxms.

the class NetworkDiscoveryConfigurator method runManualActiveDiscovery.

private void runManualActiveDiscovery() {
    if (!MessageDialogHelper.openConfirm(getSite().getShell(), "Active discovery", "Are you sure you want to start manual scan for selected ranges?"))
        return;
    final IStructuredSelection selection = (IStructuredSelection) activeDiscoveryAddressList.getSelection();
    if (selection.size() == 0)
        return;
    final List<InetAddressListElement> list = new ArrayList<InetAddressListElement>();
    for (Object o : selection.toList()) {
        list.add((InetAddressListElement) o);
    }
    final NXCSession session = ConsoleSharedData.getSession();
    new ConsoleJob("Run active discovery poll", this, Activator.PLUGIN_ID, null) {

        @Override
        protected void runInternal(IProgressMonitor monitor) throws Exception {
            session.startManualActiveDiscovery(list);
            runInUIThread(new Runnable() {

                @Override
                public void run() {
                    StringBuilder sb = new StringBuilder("Active discovery started for ranges:\n");
                    for (int i = 0; i < list.size(); i++) {
                        InetAddressListElement e = list.get(i);
                        sb.append((e.getType() == InetAddressListElement.SUBNET) ? e.getBaseAddress().getHostAddress() + "/" + e.getMaskBits() : e.getBaseAddress().getHostAddress() + " - " + e.getEndAddress().getHostAddress());
                        if ((i + 1) != list.size())
                            sb.append("\n");
                    }
                    MessageDialogHelper.openInformation(getSite().getShell(), "Active discovery started", sb.toString());
                }
            });
        }

        @Override
        protected String getErrorMessage() {
            return "Error startin active discovery";
        }
    }.start();
}
Also used : NXCSession(org.netxms.client.NXCSession) ArrayList(java.util.ArrayList) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) PartInitException(org.eclipse.ui.PartInitException) InetAddressListElement(org.netxms.client.InetAddressListElement) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) ConsoleJob(org.netxms.ui.eclipse.jobs.ConsoleJob)

Example 13 with InetAddressListElement

use of org.netxms.client.InetAddressListElement in project netxms by netxms.

the class AddressListElementEditDialog method okPressed.

/**
 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
 */
@Override
protected void okPressed() {
    try {
        int zoneUIN = (zoneSelector != null) ? zoneSelector.getZoneUIN() : 0;
        if (zoneUIN == -1)
            zoneUIN = 0;
        long proxyId = (proxySelector != null) ? proxySelector.getObjectId() : 0;
        if (radioSubnet.getSelection()) {
            InetAddress baseAddress = InetAddress.getByName(textAddr1.getText().trim());
            int maskBits = Integer.parseInt(textAddr2.getText().trim());
            if ((maskBits < 0) || ((baseAddress instanceof Inet4Address) && (maskBits > 32)) || ((baseAddress instanceof Inet6Address) && (maskBits > 128)))
                throw new NumberFormatException("Invalid network mask");
            if (element == null)
                element = new InetAddressListElement(baseAddress, maskBits, zoneUIN, proxyId, comments.getText());
            else
                element.update(baseAddress, maskBits, zoneUIN, proxyId, comments.getText());
        } else {
            if (element == null)
                element = new InetAddressListElement(InetAddress.getByName(textAddr1.getText().trim()), InetAddress.getByName(textAddr2.getText().trim()), zoneUIN, proxyId, comments.getText());
            else
                element.update(InetAddress.getByName(textAddr1.getText().trim()), InetAddress.getByName(textAddr2.getText().trim()), zoneUIN, proxyId, comments.getText());
        }
    } catch (UnknownHostException e) {
        MessageDialogHelper.openWarning(getShell(), i18n.tr("Warning"), i18n.tr("Please enter valid IP address/mask"));
        return;
    } catch (NumberFormatException e) {
        MessageDialogHelper.openWarning(getShell(), i18n.tr("Warning"), i18n.tr("Please enter valid IP address/mask"));
        return;
    }
    super.okPressed();
}
Also used : InetAddressListElement(org.netxms.client.InetAddressListElement) Inet4Address(java.net.Inet4Address) UnknownHostException(java.net.UnknownHostException) Inet6Address(java.net.Inet6Address) InetAddress(java.net.InetAddress)

Example 14 with InetAddressListElement

use of org.netxms.client.InetAddressListElement in project netxms by netxms.

the class NetworkDiscoveryConfigurator method editAddressFilterElement.

/**
 * Edit address filter element
 */
private void editAddressFilterElement() {
    IStructuredSelection selection = filterAddressList.getStructuredSelection();
    if (selection.size() != 1)
        return;
    AddressListElementEditDialog dlg = new AddressListElementEditDialog(getWindow().getShell(), false, (InetAddressListElement) selection.getFirstElement());
    if (dlg.open() == Window.OK) {
        final List<InetAddressListElement> list = config.getAddressFilter();
        filterAddressList.setInput(list.toArray());
        setModified();
    }
}
Also used : InetAddressListElement(org.netxms.client.InetAddressListElement) AddressListElementEditDialog(org.netxms.nxmc.modules.serverconfig.dialogs.AddressListElementEditDialog) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection)

Example 15 with InetAddressListElement

use of org.netxms.client.InetAddressListElement in project netxms by netxms.

the class NetworkDiscoveryConfigurator method removeTargetAddressListElements.

/**
 * Remove element(s) from active discovery range list
 */
private void removeTargetAddressListElements() {
    final List<InetAddressListElement> list = config.getTargets();
    IStructuredSelection selection = (IStructuredSelection) activeDiscoveryAddressList.getSelection();
    if (selection.size() > 0) {
        for (Object o : selection.toList()) {
            list.remove(o);
        }
        activeDiscoveryAddressList.setInput(list.toArray());
        setModified();
    }
}
Also used : InetAddressListElement(org.netxms.client.InetAddressListElement) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection)

Aggregations

InetAddressListElement (org.netxms.client.InetAddressListElement)25 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)13 AddAddressListElementDialog (org.netxms.ui.eclipse.serverconfig.dialogs.AddAddressListElementDialog)6 AddressListElementEditDialog (org.netxms.nxmc.modules.serverconfig.dialogs.AddressListElementEditDialog)4 Inet4Address (java.net.Inet4Address)3 Inet6Address (java.net.Inet6Address)3 InetAddress (java.net.InetAddress)3 UnknownHostException (java.net.UnknownHostException)3 ArrayList (java.util.ArrayList)3 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)3 NXCSession (org.netxms.client.NXCSession)3 PartInitException (org.eclipse.ui.PartInitException)2 ConsoleJob (org.netxms.ui.eclipse.jobs.ConsoleJob)2 Job (org.netxms.nxmc.base.jobs.Job)1 SortableTableViewer (org.netxms.nxmc.base.widgets.SortableTableViewer)1 SortableTableViewer (org.netxms.ui.eclipse.widgets.SortableTableViewer)1