Search in sources :

Example 1 with SetInterfaceExpStateDlg

use of org.netxms.ui.eclipse.objectmanager.dialogs.SetInterfaceExpStateDlg in project netxms by netxms.

the class ChangeInterfaceExpectedState method run.

/**
 * @see IActionDelegate#run(IAction)
 */
public void run(IAction action) {
    if (objects.size() == 0)
        return;
    SetInterfaceExpStateDlg dlg = new SetInterfaceExpStateDlg(shell);
    if (dlg.open() != Window.OK)
        return;
    final long[] idList = new long[objects.size()];
    for (int i = 0; i < idList.length; i++) idList[i] = objects.get(i).getObjectId();
    final int newState = dlg.getExpectedState();
    final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
    new ConsoleJob(Messages.get().ChangeInterfaceExpectedState_JobTitle, viewPart, Activator.PLUGIN_ID, null) {

        @Override
        protected void runInternal(IProgressMonitor monitor) throws Exception {
            for (int i = 0; i < idList.length; i++) {
                NXCObjectModificationData md = new NXCObjectModificationData(idList[i]);
                md.setExpectedState(newState);
                session.modifyObject(md);
            }
        }

        @Override
        protected String getErrorMessage() {
            return Messages.get().ChangeInterfaceExpectedState_JobError;
        }
    }.start();
}
Also used : IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) NXCSession(org.netxms.client.NXCSession) NXCObjectModificationData(org.netxms.client.NXCObjectModificationData) ConsoleJob(org.netxms.ui.eclipse.jobs.ConsoleJob) SetInterfaceExpStateDlg(org.netxms.ui.eclipse.objectmanager.dialogs.SetInterfaceExpStateDlg)

Aggregations

IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)1 NXCObjectModificationData (org.netxms.client.NXCObjectModificationData)1 NXCSession (org.netxms.client.NXCSession)1 ConsoleJob (org.netxms.ui.eclipse.jobs.ConsoleJob)1 SetInterfaceExpStateDlg (org.netxms.ui.eclipse.objectmanager.dialogs.SetInterfaceExpStateDlg)1