use of org.netxms.client.objects.AbstractObject in project netxms by netxms.
the class AlarmComments method updateAlarmDetails.
/**
* Update alarm details
*
* @param alarm
*/
private void updateAlarmDetails(Alarm alarm) {
alarmSeverity.setImage(StatusDisplayInfo.getStatusImage(alarm.getCurrentSeverity()));
alarmSeverity.setText(StatusDisplayInfo.getStatusText(alarm.getCurrentSeverity()));
alarmState.setImage(imageCache.add(Activator.getImageDescriptor(stateImage[alarm.getState()])));
alarmState.setText(stateText[alarm.getState()]);
AbstractObject object = session.findObjectById(alarm.getSourceObjectId());
alarmSource.setImage((object != null) ? wbLabelProvider.getImage(object) : SharedIcons.IMG_UNKNOWN_OBJECT);
// $NON-NLS-1$ //$NON-NLS-2$
alarmSource.setText((object != null) ? object.getObjectName() : ("[" + Long.toString(alarm.getSourceObjectId()) + "]"));
alarmText.setText(alarm.getMessage());
}
use of org.netxms.client.objects.AbstractObject in project netxms by netxms.
the class DashboardsDynamicMenu method fill.
/* (non-Javadoc)
* @see org.eclipse.jface.action.ContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
*/
@Override
public void fill(Menu menu, int index) {
final Object selection = evalService.getCurrentState().getVariable(ISources.ACTIVE_MENU_SELECTION_NAME);
if ((selection == null) || !(selection instanceof IStructuredSelection))
return;
final AbstractObject object = (AbstractObject) ((IStructuredSelection) selection).getFirstElement();
if (!(object instanceof Container) && !(object instanceof Cluster) && !(object instanceof Node) && !(object instanceof MobileDevice) && !(object instanceof ServiceRoot) && !(object instanceof Subnet) && !(object instanceof Zone) && !(object instanceof Condition) && !(object instanceof EntireNetwork) && !(object instanceof Sensor))
return;
List<AbstractObject> dashboards = object.getDashboards(true);
if (dashboards.isEmpty())
return;
Collections.sort(dashboards, new Comparator<AbstractObject>() {
@Override
public int compare(AbstractObject o1, AbstractObject o2) {
return o1.getObjectName().compareToIgnoreCase(o2.getObjectName());
}
});
final Menu dashboardsMenu = new Menu(menu);
for (AbstractObject d : dashboards) {
final MenuItem item = new MenuItem(dashboardsMenu, SWT.PUSH);
item.setText(d.getObjectName());
item.setData(d.getObjectId());
item.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
try {
window.getActivePage().showView(DashboardView.ID, item.getData().toString(), IWorkbenchPage.VIEW_ACTIVATE);
} catch (PartInitException ex) {
MessageDialogHelper.openError(window.getShell(), Messages.get().OpenDashboard_Error, Messages.get().OpenDashboard_ErrorText + ex.getMessage());
}
}
});
}
MenuItem dashboardsMenuItem = new MenuItem(menu, SWT.CASCADE, index);
dashboardsMenuItem.setText(Messages.get().DashboardsDynamicMenu_Dashboards);
dashboardsMenuItem.setMenu(dashboardsMenu);
}
use of org.netxms.client.objects.AbstractObject in project netxms by netxms.
the class ImportDashboard method doIdMapping.
/**
* Map node and DCI ID from source system to destination system
* @throws Exception
* @return true if import operation should continue
*/
private boolean doIdMapping(final Display display, final NXCSession session, List<DashboardElement> dashboardElements, Element root) throws Exception {
final Map<Long, ObjectIdMatchingData> objects = readSourceObjects(root);
final Map<Long, DciIdMatchingData> dcis = readSourceDci(root);
// add all node IDs from DCI list if they are missing
for (DciIdMatchingData d : dcis.values()) {
if (!objects.containsKey(d.srcNodeId))
// $NON-NLS-1$
objects.put(d.srcNodeId, new ObjectIdMatchingData(d.srcNodeId, "", AbstractObject.OBJECT_NODE));
}
// try to match objects
for (ObjectIdMatchingData d : objects.values()) {
if (d.srcId < 10) {
// built-in object
d.dstId = d.srcId;
continue;
}
if (d.srcName.isEmpty())
continue;
AbstractObject object = session.findObjectByName(d.srcName);
if ((object != null) && isCompatibleClasses(object.getObjectClass(), d.objectClass)) {
d.dstId = object.getObjectId();
d.dstName = object.getObjectName();
}
}
// try to match DCIs
for (DciIdMatchingData d : dcis.values()) {
// get node ID on target system
ObjectIdMatchingData od = objects.get(d.srcNodeId);
// bind DCI data to appropriate node data
od.dcis.add(d);
if (od.dstId == 0)
// no match for node
continue;
d.dstNodeId = od.dstId;
DciValue[] dciValues = session.getLastValues(d.dstNodeId);
for (DciValue v : dciValues) {
if (v.getDescription().equalsIgnoreCase(d.srcName)) {
d.dstDciId = v.getId();
d.dstName = v.getDescription();
break;
}
}
}
// show matching results to user
UIJob job = new // $NON-NLS-1$
UIJob(// $NON-NLS-1$
display, // $NON-NLS-1$
"") {
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
IdMatchingDialog dlg = new IdMatchingDialog(window.getShell(), objects, dcis);
return (dlg.open() == Window.OK) ? Status.OK_STATUS : Status.CANCEL_STATUS;
}
};
job.schedule();
job.join();
if (job.getResult().equals(Status.OK_STATUS)) {
// update dashboard elements with mapping data
for (DashboardElement e : dashboardElements) updateDashboardElement(e, objects, dcis);
return true;
}
return false;
}
use of org.netxms.client.objects.AbstractObject in project netxms by netxms.
the class OpenFileManager method selectionChanged.
/* (non-Javadoc)
* @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
*/
@Override
public void selectionChanged(IAction action, ISelection selection) {
Object obj;
if ((selection instanceof IStructuredSelection) && (((IStructuredSelection) selection).size() == 1)) {
obj = ((IStructuredSelection) selection).getFirstElement();
if (obj instanceof AbstractObject) {
object = (AbstractObject) obj;
}
} else {
object = null;
}
action.setEnabled(object != null);
}
use of org.netxms.client.objects.AbstractObject in project netxms by netxms.
the class ObjectConditionEditor method selectObject.
/**
* Select object
*/
private void selectObject() {
ObjectSelectionDialog dlg = new ObjectSelectionDialog(getShell(), null, null);
dlg.enableMultiSelection(false);
if (dlg.open() == Window.OK) {
AbstractObject[] objects = dlg.getSelectedObjects(AbstractObject.class);
if (objects.length > 0) {
objectId = objects[0].getObjectId();
objectName.setText(objects[0].getObjectName());
objectName.setImage(labelProvider.getImage(objects[0]));
} else {
objectId = 0;
objectName.setText(EMPTY_SELECTION_TEXT);
objectName.setImage(null);
}
}
}
Aggregations