use of org.netxms.client.objects.AbstractObject in project netxms by netxms.
the class IPAddressSelectionDialog method createDialogArea.
/* (non-Javadoc)
* @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
*/
@Override
protected Control createDialogArea(Composite parent) {
Composite dialogArea = (Composite) super.createDialogArea(parent);
GridLayout layout = new GridLayout();
layout.marginHeight = WidgetHelper.DIALOG_HEIGHT_MARGIN;
layout.marginWidth = WidgetHelper.DIALOG_WIDTH_MARGIN;
layout.verticalSpacing = WidgetHelper.DIALOG_SPACING;
dialogArea.setLayout(layout);
// Label label = new Label(dialogArea, SWT.NONE);
viewer = new TableViewer(dialogArea, SWT.BORDER | SWT.FULL_SELECTION);
GridData gd = new GridData();
gd.horizontalAlignment = SWT.FILL;
gd.verticalAlignment = SWT.FILL;
gd.grabExcessHorizontalSpace = true;
gd.grabExcessVerticalSpace = true;
gd.heightHint = 300;
gd.widthHint = 250;
viewer.getControl().setLayoutData(gd);
viewer.setContentProvider(new ArrayContentProvider());
viewer.setComparator(new ViewerComparator() {
@Override
public int compare(Viewer viewer, Object e1, Object e2) {
return ComparatorHelper.compareInetAddresses(((AddressListElement) e1).address, ((AddressListElement) e2).address);
}
});
viewer.setLabelProvider(new AddressListLabelProvider());
final Table table = viewer.getTable();
table.setHeaderVisible(true);
TableColumn tc = new TableColumn(table, SWT.LEFT);
tc.setText(Messages.get().IPAddressSelectionDialog_IPAddress);
tc.setWidth(90);
tc = new TableColumn(table, SWT.LEFT);
tc.setText(Messages.get().IPAddressSelectionDialog_Interface);
tc.setWidth(150);
Set<AddressListElement> addrList = new HashSet<AddressListElement>();
for (AbstractObject o : node.getChildsAsArray()) {
if (o instanceof Interface) {
for (InetAddressEx a : ((Interface) o).getIpAddressList()) {
if (a.isValidUnicastAddress()) {
addrList.add(new AddressListElement((Interface) o, a.getAddress()));
}
}
}
}
viewer.setInput(addrList.toArray());
return dialogArea;
}
use of org.netxms.client.objects.AbstractObject in project netxms by netxms.
the class DeleteObject method execute.
/* (non-Javadoc)
* @see org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent)
*/
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
ISelection selection = window.getActivePage().getSelection();
if ((selection == null) || !(selection instanceof IStructuredSelection) || selection.isEmpty())
return null;
String question;
if (((IStructuredSelection) selection).size() == 1) {
question = String.format(Messages.get().DeleteObject_ConfirmQuestionSingular, ((AbstractObject) ((IStructuredSelection) selection).getFirstElement()).getObjectName());
} else {
question = Messages.get().DeleteObject_ConfirmQuestionPlural;
}
boolean confirmed = MessageDialogHelper.openConfirm(window.getShell(), Messages.get().DeleteObject_ConfirmDelete, question);
if (confirmed) {
if (((IStructuredSelection) selection).getFirstElement() instanceof AbstractObject) {
final Object[] objects = ((IStructuredSelection) selection).toArray();
Arrays.sort(objects, new Comparator<Object>() {
@Override
public int compare(Object arg0, Object arg1) {
if (arg0 instanceof AbstractObject && arg1 instanceof AbstractObject)
if (((AbstractObject) arg0).isChildOf(((AbstractObject) arg1).getObjectId()))
return -1;
return 1;
}
});
final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
new ConsoleJob(Messages.get().DeleteObject_JobName, null, Activator.PLUGIN_ID, null) {
@Override
protected void runInternal(IProgressMonitor monitor) throws Exception {
for (Object o : objects) {
if (o instanceof AbstractObject)
session.deleteObject(((AbstractObject) o).getObjectId());
}
}
@Override
protected String getErrorMessage() {
return Messages.get().DeleteObject_JobError;
}
}.start();
}
}
return null;
}
use of org.netxms.client.objects.AbstractObject in project netxms by netxms.
the class ObjectBrowser method createContent.
/* (non-Javadoc)
* @see org.netxms.webui.mobile.pages.AbstractPage#createContent(org.eclipse.swt.widgets.Composite)
*/
@Override
protected Composite createContent(Composite parent) {
viewer = new TableViewer(parent, SWT.FULL_SELECTION);
viewer.setContentProvider(new ArrayContentProvider());
viewer.setLabelProvider(new ObjectListLabelProvider());
viewer.setComparator(new ViewerComparator() {
@Override
public int compare(Viewer viewer, Object e1, Object e2) {
return ((AbstractObject) e1).getObjectName().compareToIgnoreCase(((AbstractObject) e2).getObjectName());
}
});
viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
AbstractObject o = (AbstractObject) ((IStructuredSelection) viewer.getSelection()).getFirstElement();
handleSelection(o);
}
});
NXCSession session = (NXCSession) ConsoleSharedData.getSession();
viewer.setInput(session.findObjectById(rootObjectId).getChildsAsArray());
setTitle(session.getObjectName(rootObjectId));
return null;
}
use of org.netxms.client.objects.AbstractObject in project netxms by netxms.
the class MapSeedNodes method createContents.
/* (non-Javadoc)
* @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
*/
@Override
protected Control createContents(Composite parent) {
Composite dialogArea = new Composite(parent, SWT.NONE);
object = (AbstractObject) getElement().getAdapter(AbstractObject.class);
if (object == null || !(object instanceof NetworkMap))
return dialogArea;
GridLayout layout = new GridLayout();
layout.verticalSpacing = WidgetHelper.OUTER_SPACING;
layout.marginWidth = 0;
layout.marginHeight = 0;
dialogArea.setLayout(layout);
viewer = new TableViewer(dialogArea, SWT.BORDER);
viewer.setContentProvider(new ArrayContentProvider());
viewer.setLabelProvider(new LabelProvider() {
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
*/
@Override
public String getText(Object element) {
return ((AbstractObject) element).getObjectName();
}
});
NXCSession session = (NXCSession) ConsoleSharedData.getSession();
seedNodes = new HashSet<AbstractObject>(session.findMultipleObjects(((NetworkMap) object).getSeedObjectIds(), false));
viewer.setInput(seedNodes);
GridData gridData = new GridData();
gridData.verticalAlignment = GridData.FILL;
gridData.grabExcessVerticalSpace = true;
gridData.horizontalAlignment = GridData.FILL;
gridData.grabExcessHorizontalSpace = true;
gridData.heightHint = 0;
viewer.getControl().setLayoutData(gridData);
Composite buttons = new Composite(dialogArea, SWT.NONE);
RowLayout buttonLayout = new RowLayout();
buttonLayout.type = SWT.HORIZONTAL;
buttonLayout.pack = false;
buttonLayout.marginWidth = 0;
buttonLayout.marginRight = 0;
buttons.setLayout(buttonLayout);
gridData = new GridData();
gridData.horizontalAlignment = SWT.RIGHT;
buttons.setLayoutData(gridData);
addButton = new Button(buttons, SWT.PUSH);
addButton.setText("Add...");
RowData rd = new RowData();
rd.width = WidgetHelper.BUTTON_WIDTH_HINT;
addButton.setLayoutData(rd);
addButton.addSelectionListener(new SelectionListener() {
/* (non-Javadoc)
* @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
@Override
public void widgetSelected(SelectionEvent e) {
final ObjectSelectionDialog dlg = new ObjectSelectionDialog(getShell(), null, ObjectSelectionDialog.createNodeSelectionFilter(false));
dlg.enableMultiSelection(true);
if (dlg.open() == Window.OK) {
List<AbstractObject> selected = dlg.getSelectedObjects();
if (selected.size() > 0) {
seedNodes.addAll(selected);
viewer.setInput(seedNodes);
isModified = true;
}
}
}
/* (non-Javadoc)
* @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
*/
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
deleteButton = new Button(buttons, SWT.PUSH);
deleteButton.setText("Delete");
rd = new RowData();
rd.width = WidgetHelper.BUTTON_WIDTH_HINT;
deleteButton.setLayoutData(rd);
deleteButton.addSelectionListener(new SelectionListener() {
/* (non-Javadoc)
* @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
@Override
public void widgetSelected(SelectionEvent e) {
IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
if (selection.size() > 0) {
seedNodes.removeAll(selection.toList());
viewer.setInput(seedNodes);
isModified = true;
}
}
/* (non-Javadoc)
* @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
*/
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
return dialogArea;
}
use of org.netxms.client.objects.AbstractObject in project netxms by netxms.
the class ObjectToolsDynamicMenu method buildNodeSet.
/**
* Build node set from selection
*
* @param selection
* @return
*/
private Set<ObjectContext> buildNodeSet(IStructuredSelection selection) {
final Set<ObjectContext> nodes = new HashSet<ObjectContext>();
final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
for (Object o : selection.toList()) {
if (o instanceof AbstractNode) {
nodes.add(new ObjectContext((AbstractNode) o, null));
} else if ((o instanceof Container) || (o instanceof ServiceRoot) || (o instanceof Subnet) || (o instanceof Cluster)) {
for (AbstractObject n : ((AbstractObject) o).getAllChilds(AbstractObject.OBJECT_NODE)) nodes.add(new ObjectContext((AbstractNode) n, null));
} else if (o instanceof Alarm) {
AbstractNode n = (AbstractNode) session.findObjectById(((Alarm) o).getSourceObjectId(), AbstractNode.class);
if (n != null)
nodes.add(new ObjectContext(n, (Alarm) o));
} else if (o instanceof ObjectWrapper) {
AbstractObject n = ((ObjectWrapper) o).getObject();
if ((n != null) && (n instanceof AbstractNode))
nodes.add(new ObjectContext((AbstractNode) n, null));
}
}
return nodes;
}
Aggregations