Search in sources :

Example 41 with AbstractObject

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());
}
Also used : AbstractObject(org.netxms.client.objects.AbstractObject)

Example 42 with AbstractObject

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);
}
Also used : Condition(org.netxms.client.objects.Condition) IWorkbenchWindow(org.eclipse.ui.IWorkbenchWindow) Zone(org.netxms.client.objects.Zone) Node(org.netxms.client.objects.Node) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Cluster(org.netxms.client.objects.Cluster) MenuItem(org.eclipse.swt.widgets.MenuItem) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) EntireNetwork(org.netxms.client.objects.EntireNetwork) ServiceRoot(org.netxms.client.objects.ServiceRoot) Container(org.netxms.client.objects.Container) MobileDevice(org.netxms.client.objects.MobileDevice) AbstractObject(org.netxms.client.objects.AbstractObject) SelectionEvent(org.eclipse.swt.events.SelectionEvent) AbstractObject(org.netxms.client.objects.AbstractObject) Menu(org.eclipse.swt.widgets.Menu) PartInitException(org.eclipse.ui.PartInitException) Subnet(org.netxms.client.objects.Subnet) Sensor(org.netxms.client.objects.Sensor)

Example 43 with AbstractObject

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;
}
Also used : IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) IdMatchingDialog(org.netxms.ui.eclipse.dashboard.dialogs.IdMatchingDialog) ObjectIdMatchingData(org.netxms.ui.eclipse.dashboard.dialogs.helpers.ObjectIdMatchingData) AbstractObject(org.netxms.client.objects.AbstractObject) DciValue(org.netxms.client.datacollection.DciValue) UIJob(org.eclipse.ui.progress.UIJob) DciIdMatchingData(org.netxms.ui.eclipse.dashboard.dialogs.helpers.DciIdMatchingData) DashboardElement(org.netxms.client.dashboards.DashboardElement)

Example 44 with AbstractObject

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);
}
Also used : AbstractObject(org.netxms.client.objects.AbstractObject) AbstractObject(org.netxms.client.objects.AbstractObject) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection)

Example 45 with AbstractObject

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);
        }
    }
}
Also used : ObjectSelectionDialog(org.netxms.ui.eclipse.objectbrowser.dialogs.ObjectSelectionDialog) AbstractObject(org.netxms.client.objects.AbstractObject)

Aggregations

AbstractObject (org.netxms.client.objects.AbstractObject)216 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)55 NXCSession (org.netxms.client.NXCSession)51 AbstractNode (org.netxms.client.objects.AbstractNode)31 PartInitException (org.eclipse.ui.PartInitException)27 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)26 ConsoleJob (org.netxms.ui.eclipse.jobs.ConsoleJob)25 Cluster (org.netxms.client.objects.Cluster)22 ObjectSelectionDialog (org.netxms.ui.eclipse.objectbrowser.dialogs.ObjectSelectionDialog)22 ArrayList (java.util.ArrayList)20 Node (org.netxms.client.objects.Node)20 GridData (org.eclipse.swt.layout.GridData)18 Composite (org.eclipse.swt.widgets.Composite)18 NetworkMapObject (org.netxms.client.maps.elements.NetworkMapObject)18 GridLayout (org.eclipse.swt.layout.GridLayout)15 Container (org.netxms.client.objects.Container)15 Interface (org.netxms.client.objects.Interface)12 Template (org.netxms.client.objects.Template)12 SelectionEvent (org.eclipse.swt.events.SelectionEvent)11 Point (org.eclipse.swt.graphics.Point)11