Search in sources :

Example 6 with NXCSession

use of org.netxms.client.NXCSession in project netxms by netxms.

the class Shell method run.

/**
 * @param args
 * @throws IOException
 * @throws NetXMSClientException
 */
private void run(String[] args) throws IOException, NXCException {
    initJython(args);
    readCredentials((args.length == 0) && isInteractive());
    final NXCSession session = connect();
    final InteractiveConsole console = createInterpreter(args);
    console.set("session", session);
    console.set("s", session);
    if (args.length == 0) {
        console.interact(getBanner(), null);
    } else {
        console.execfile(args[0]);
    }
    console.cleanup();
    session.disconnect();
}
Also used : NXCSession(org.netxms.client.NXCSession) InteractiveConsole(org.python.util.InteractiveConsole)

Example 7 with NXCSession

use of org.netxms.client.NXCSession in project netxms by netxms.

the class FindNodeByPrimaryHostname method run.

/* (non-Javadoc)
    * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
    */
@Override
public void run(IAction action) {
    final EnterPrimaryHostnameDlg dlg = new EnterPrimaryHostnameDlg(window.getShell());
    if (dlg.open() != Window.OK)
        return;
    final Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
    final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
    new ConsoleJob("Searching for hostname" + dlg.getHostname() + "in the network", null, Activator.PLUGIN_ID, null) {

        @Override
        protected void runInternal(IProgressMonitor monitor) throws Exception {
            final List<AbstractNode> nodes = session.findNodesByHostname((int) dlg.getZoneId(), dlg.getHostname());
            runInUIThread(new Runnable() {

                @Override
                public void run() {
                    if (nodes != null && !nodes.isEmpty()) {
                        StringBuilder sb = new StringBuilder();
                        sb.append("The following nodes matching the criteria have been found: ");
                        for (int i = 0; i < nodes.size(); i++) {
                            sb.append("\n" + nodes.get(i).getPrimaryName());
                        }
                        MessageDialogHelper.openInformation(shell, "Result", sb.toString());
                    } else
                        MessageDialogHelper.openInformation(shell, "Result", "No nodes found!");
                }
            });
        }

        @Override
        protected String getErrorMessage() {
            return "Search for hostname" + dlg.getHostname() + "failed.";
        }
    }.start();
}
Also used : Shell(org.eclipse.swt.widgets.Shell) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) NXCSession(org.netxms.client.NXCSession) EnterPrimaryHostnameDlg(org.netxms.ui.eclipse.topology.dialogs.EnterPrimaryHostnameDlg) List(java.util.List) ConsoleJob(org.netxms.ui.eclipse.jobs.ConsoleJob)

Example 8 with NXCSession

use of org.netxms.client.NXCSession in project netxms by netxms.

the class NetxmsConnector method executeAction.

private boolean executeAction(ConnectorAction action) {
    List<String> servers = settingsManager.getServers();
    String login = settingsManager.getLogin();
    String password = settingsManager.getPassword();
    boolean success = false;
    boolean alarmNotFound = false;
    for (String server : servers) {
        ConnectionDetails connectionDetails = new ConnectionDetails(server).parse();
        String connAddress = connectionDetails.getAddress();
        int connPort = connectionDetails.getPort();
        NXCSession session = new NXCSession(connAddress, connPort, true);
        session.setIgnoreProtocolVersion(true);
        try {
            session.connect();
            session.login(login, password);
            log.debug("Connected to " + server);
            // do stuff
            success = true;
            action.execute(session);
            log.debug("Action executed on " + server);
        } catch (IOException e) {
            log.error("Connection failed", e);
        } catch (NXCException e) {
            if (e.getErrorCode() != RCC.INVALID_ALARM_ID) {
                log.error("Connection failed", e);
            } else {
                alarmNotFound = true;
            }
        }
    }
    return success || alarmNotFound;
}
Also used : NXCSession(org.netxms.client.NXCSession) IOException(java.io.IOException) NXCException(org.netxms.client.NXCException)

Example 9 with NXCSession

use of org.netxms.client.NXCSession in project netxms by netxms.

the class ExportDashboard method run.

/* (non-Javadoc)
	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
	 */
@Override
public void run(IAction action) {
    if (dashboard == null)
        return;
    final Set<Long> objects = new HashSet<Long>();
    final Map<Long, Long> items = new HashMap<Long, Long>();
    // $NON-NLS-1$
    final StringBuilder xml = new StringBuilder("<dashboard>\n\t<name>");
    xml.append(dashboard.getObjectName());
    // $NON-NLS-1$
    xml.append("</name>\n\t<columns>");
    xml.append(dashboard.getNumColumns());
    // $NON-NLS-1$
    xml.append("</columns>\n\t<options>");
    xml.append(dashboard.getOptions());
    // $NON-NLS-1$
    xml.append("</options>\n\t<elements>\n");
    for (DashboardElement e : dashboard.getElements()) {
        // $NON-NLS-1$
        xml.append("\t\t<dashboardElement>\n\t\t\t<type>");
        xml.append(e.getType());
        // $NON-NLS-1$
        xml.append("</type>\n");
        xml.append(e.getLayout());
        xml.append('\n');
        xml.append(e.getData());
        // $NON-NLS-1$
        xml.append("\n\t\t</dashboardElement>\n");
        DashboardElementConfig config = (DashboardElementConfig) Platform.getAdapterManager().getAdapter(e, DashboardElementConfig.class);
        if (config != null) {
            objects.addAll(config.getObjects());
            items.putAll(config.getDataCollectionItems());
        }
    }
    // $NON-NLS-1$
    xml.append("\t</elements>\n");
    final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
    new ConsoleJob(Messages.get().ExportDashboard_JobTitle, wbPart, Activator.PLUGIN_ID, null) {

        @Override
        protected void runInternal(IProgressMonitor monitor) throws Exception {
            // Add object ID mapping
            // $NON-NLS-1$
            xml.append("\t<objectMap>\n");
            for (Long id : objects) {
                AbstractObject o = session.findObjectById(id);
                if (o != null) {
                    // $NON-NLS-1$
                    xml.append("\t\t<object id=\"");
                    xml.append(id);
                    // $NON-NLS-1$
                    xml.append("\" class=\"");
                    xml.append(o.getObjectClass());
                    // $NON-NLS-1$
                    xml.append("\">");
                    xml.append(o.getObjectName());
                    // $NON-NLS-1$
                    xml.append("</object>\n");
                }
            }
            // $NON-NLS-1$
            xml.append("\t</objectMap>\n\t<dciMap>\n");
            // Add DCI ID mapping
            long[] nodeList = new long[items.size()];
            long[] dciList = new long[items.size()];
            int pos = 0;
            for (Entry<Long, Long> dci : items.entrySet()) {
                dciList[pos] = dci.getKey();
                nodeList[pos] = dci.getValue();
                pos++;
            }
            String[] names = session.dciIdsToNames(nodeList, dciList);
            for (int i = 0; i < names.length; i++) {
                // $NON-NLS-1$
                xml.append("\t\t<dci id=\"");
                xml.append(dciList[i]);
                // $NON-NLS-1$
                xml.append("\" node=\"");
                xml.append(nodeList[i]);
                // $NON-NLS-1$
                xml.append("\">");
                xml.append(names[i]);
                // $NON-NLS-1$
                xml.append("</dci>\n");
            }
            // $NON-NLS-1$
            xml.append("\t</dciMap>\n</dashboard>\n");
            // $NON-NLS-1$
            OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(dashboard.getObjectName() + ".xml"), "UTF-8");
            try {
                out.write(xml.toString());
            } finally {
                out.close();
                final File dashboardFile = new File(dashboard.getObjectName() + ".xml");
                if (dashboardFile.length() > 0) {
                    DownloadServiceHandler.addDownload(dashboardFile.getName(), dashboardFile.getName(), dashboardFile, "application/octet-stream");
                    runInUIThread(new Runnable() {

                        @Override
                        public void run() {
                            DownloadServiceHandler.startDownload(dashboardFile.getName());
                        }
                    });
                }
            }
        }

        @Override
        protected String getErrorMessage() {
            return Messages.get().ExportDashboard_ErrorText;
        }
    }.start();
}
Also used : NXCSession(org.netxms.client.NXCSession) HashMap(java.util.HashMap) DashboardElement(org.netxms.client.dashboards.DashboardElement) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) Entry(java.util.Map.Entry) DashboardElementConfig(org.netxms.ui.eclipse.dashboard.widgets.internal.DashboardElementConfig) AbstractObject(org.netxms.client.objects.AbstractObject) FileOutputStream(java.io.FileOutputStream) OutputStreamWriter(java.io.OutputStreamWriter) ConsoleJob(org.netxms.ui.eclipse.jobs.ConsoleJob) File(java.io.File) HashSet(java.util.HashSet)

Example 10 with NXCSession

use of org.netxms.client.NXCSession in project netxms by netxms.

the class DCISummaryTableSortColumnSelectionDialog 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);
    final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
    new ConsoleJob("Get summary table configuration by id", null, Activator.PLUGIN_ID, null) {

        @Override
        protected void runInternal(IProgressMonitor monitor) throws Exception {
            sourceSummaryTable = session.getDciSummaryTable(summaryTableId);
            runInUIThread(new Runnable() {

                @Override
                public void run() {
                    refresh();
                }
            });
        }

        @Override
        protected String getErrorMessage() {
            return "Unable to get summary table configuration";
        }
    }.start();
    GridLayout layout = new GridLayout();
    dialogArea.setLayout(layout);
    selector = new DCISummaryTableColumnSelector(dialogArea, SWT.NONE, AbstractSelector.SHOW_CLEAR_BUTTON, sortingColumn, null, sourceSummaryTable);
    selector.setLabel("Filter column name");
    GridData gd = new GridData();
    gd.horizontalAlignment = SWT.FILL;
    gd.grabExcessHorizontalSpace = true;
    gd.horizontalSpan = 520;
    selector.setLayoutData(gd);
    descSorting = new Button(dialogArea, SWT.CHECK);
    gd = new GridData();
    // gd.horizontalAlignment = SWT.FILL;
    // gd.grabExcessHorizontalSpace = true;
    descSorting.setText("Use descending sorting");
    descSorting.setLayoutData(gd);
    descSorting.setSelection(isDescSorting);
    return dialogArea;
}
Also used : IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) GridLayout(org.eclipse.swt.layout.GridLayout) NXCSession(org.netxms.client.NXCSession) DCISummaryTableColumnSelector(org.netxms.ui.eclipse.dashboard.widgets.DCISummaryTableColumnSelector) Composite(org.eclipse.swt.widgets.Composite) Button(org.eclipse.swt.widgets.Button) GridData(org.eclipse.swt.layout.GridData) ConsoleJob(org.netxms.ui.eclipse.jobs.ConsoleJob)

Aggregations

NXCSession (org.netxms.client.NXCSession)248 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)167 ConsoleJob (org.netxms.ui.eclipse.jobs.ConsoleJob)163 AbstractObject (org.netxms.client.objects.AbstractObject)54 NXCObjectModificationData (org.netxms.client.NXCObjectModificationData)45 PartInitException (org.eclipse.ui.PartInitException)31 NXCObjectCreationData (org.netxms.client.NXCObjectCreationData)28 List (java.util.List)26 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)22 NXCException (org.netxms.client.NXCException)22 ArrayList (java.util.ArrayList)19 GridData (org.eclipse.swt.layout.GridData)18 GridLayout (org.eclipse.swt.layout.GridLayout)17 Composite (org.eclipse.swt.widgets.Composite)17 CreateObjectDialog (org.netxms.ui.eclipse.objectbrowser.dialogs.CreateObjectDialog)15 AbstractNode (org.netxms.client.objects.AbstractNode)14 ArrayContentProvider (org.eclipse.jface.viewers.ArrayContentProvider)13 IOException (java.io.IOException)11 ObjectSelectionDialog (org.netxms.ui.eclipse.objectbrowser.dialogs.ObjectSelectionDialog)11 SelectionEvent (org.eclipse.swt.events.SelectionEvent)10