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;
}
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();
}
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();
}
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();
}
}
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();
}
}
Aggregations