Search in sources :

Example 6 with Script

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

the class ScriptComparator method compare.

/* (non-Javadoc)
	 * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
	 */
@Override
public int compare(Viewer viewer, Object e1, Object e2) {
    int result;
    Script s1 = (Script) e1;
    Script s2 = (Script) e2;
    switch(// $NON-NLS-1$
    (Integer) ((SortableTableViewer) viewer).getTable().getSortColumn().getData("ID")) {
        case ScriptLibrary.COLUMN_ID:
            result = Long.signum(s1.getId() - s2.getId());
            break;
        case ScriptLibrary.COLUMN_NAME:
            result = s1.getName().compareToIgnoreCase(s2.getName());
            break;
        default:
            result = 0;
            break;
    }
    return (((SortableTableViewer) viewer).getTable().getSortDirection() == SWT.UP) ? result : -result;
}
Also used : Script(org.netxms.client.Script) SortableTableViewer(org.netxms.ui.eclipse.widgets.SortableTableViewer)

Example 7 with Script

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

the class ScriptLibrary method renameScript.

/**
 * Edit script
 */
private void renameScript() {
    IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
    final Script script = (Script) selection.getFirstElement();
    final CreateScriptDialog dlg = new CreateScriptDialog(getSite().getShell(), script.getName());
    if (dlg.open() == Window.OK) {
        new ConsoleJob(Messages.get().ScriptLibrary_RenameJobTitle, this, Activator.PLUGIN_ID, null) {

            @Override
            protected void runInternal(IProgressMonitor monitor) throws Exception {
                session.renameScript(script.getId(), dlg.getName());
                runInUIThread(new Runnable() {

                    @Override
                    public void run() {
                        Object[] input = (Object[]) viewer.getInput();
                        List<Script> list = new ArrayList<Script>(input.length);
                        for (Object o : input) {
                            if (((Script) o).getId() != script.getId())
                                list.add((Script) o);
                        }
                        final Script newScript = new Script(script.getId(), dlg.getName(), script.getSource());
                        list.add(newScript);
                        viewer.setInput(list.toArray());
                        viewer.setSelection(new StructuredSelection(newScript));
                    }
                });
            }

            @Override
            protected String getErrorMessage() {
                return Messages.get().ScriptLibrary_RenameJobError;
            }
        }.start();
    }
}
Also used : Script(org.netxms.client.Script) ArrayList(java.util.ArrayList) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) PartInitException(org.eclipse.ui.PartInitException) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) CreateScriptDialog(org.netxms.ui.eclipse.nxsl.dialogs.CreateScriptDialog) ConsoleJob(org.netxms.ui.eclipse.jobs.ConsoleJob)

Example 8 with Script

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

the class ExportFileBuilder method addScripts.

/**
 * Add script to list
 */
private void addScripts() {
    SelectScriptDialog dlg = new SelectScriptDialog(getSite().getShell());
    dlg.setMultiSelection(true);
    if (dlg.open() == Window.OK) {
        for (Script s : dlg.getSelection()) scripts.put(s.getId(), s);
        scriptViewer.setInput(scripts.values().toArray());
        setModified();
    }
}
Also used : Script(org.netxms.client.Script) SelectScriptDialog(org.netxms.ui.eclipse.nxsl.dialogs.SelectScriptDialog)

Example 9 with Script

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

the class ExportFileBuilder method doExport.

/**
 * Do export operation and call completion handler when done
 *
 * @param completionHandler
 */
private void doExport(final ExportCompletionHandler completionHandler) {
    final long[] eventList = new long[events.size()];
    int i = 0;
    for (EventObject o : events.values()) eventList[i++] = o.getCode();
    final long[] templateList = new long[templates.size()];
    i = 0;
    for (Template t : templates.values()) templateList[i++] = t.getObjectId();
    final long[] trapList = new long[traps.size()];
    i = 0;
    for (SnmpTrap t : traps.values()) trapList[i++] = t.getId();
    final UUID[] ruleList = new UUID[rules.size()];
    i = 0;
    for (EventProcessingPolicyRule r : rules.values()) ruleList[i++] = r.getGuid();
    final long[] scriptList = new long[scripts.size()];
    i = 0;
    for (Script s : scripts.values()) scriptList[i++] = s.getId();
    final long[] toolList = new long[tools.size()];
    i = 0;
    for (ObjectTool t : tools.values()) toolList[i++] = t.getId();
    final long[] summaryTableList = new long[summaryTables.size()];
    i = 0;
    for (DciSummaryTableDescriptor t : summaryTables.values()) summaryTableList[i++] = t.getId();
    final long[] actionList = new long[actions.size()];
    i = 0;
    for (ServerAction a : actions.values()) actionList[i++] = a.getId();
    final String descriptionText = description.getText();
    new ConsoleJob(Messages.get().ExportFileBuilder_ExportJobName, this, Activator.PLUGIN_ID, null) {

        @Override
        protected void runInternal(IProgressMonitor monitor) throws Exception {
            final String xml = session.exportConfiguration(descriptionText, eventList, trapList, templateList, ruleList, scriptList, toolList, summaryTableList, actionList);
            runInUIThread(new Runnable() {

                @Override
                public void run() {
                    completionHandler.exportCompleted(xml);
                }
            });
        }

        @Override
        protected String getErrorMessage() {
            return Messages.get().ExportFileBuilder_ExportJobError;
        }
    }.start();
}
Also used : EventProcessingPolicyRule(org.netxms.client.events.EventProcessingPolicyRule) Script(org.netxms.client.Script) SnmpTrap(org.netxms.client.snmp.SnmpTrap) EventObject(org.netxms.client.events.EventObject) DciSummaryTableDescriptor(org.netxms.client.datacollection.DciSummaryTableDescriptor) Template(org.netxms.client.objects.Template) EventTemplate(org.netxms.client.events.EventTemplate) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) ConsoleJob(org.netxms.ui.eclipse.jobs.ConsoleJob) UUID(java.util.UUID) ServerAction(org.netxms.client.ServerAction) ObjectTool(org.netxms.client.objecttools.ObjectTool)

Example 10 with Script

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

the class ExportFileBuilder method addTemplates.

/**
 * Add templates to list
 */
private void addTemplates() {
    final ObjectSelectionDialog dlg = new ObjectSelectionDialog(getSite().getShell(), null, ObjectSelectionDialog.createTemplateSelectionFilter());
    dlg.enableMultiSelection(true);
    dlg.showFilterToolTip(false);
    if (dlg.open() == Window.OK) {
        final Set<Long> idList = new HashSet<Long>();
        for (AbstractObject o : dlg.getSelectedObjects()) {
            if (o instanceof TemplateGroup) {
                Set<AbstractObject> children = ((TemplateGroup) o).getAllChilds(AbstractObject.OBJECT_TEMPLATE);
                for (AbstractObject child : children) {
                    templates.put(((Template) child).getObjectId(), (Template) child);
                    idList.add(child.getObjectId());
                }
            } else if (o instanceof Template) {
                templates.put(((Template) o).getObjectId(), (Template) o);
                idList.add(o.getObjectId());
            }
        }
        templateViewer.setInput(templates.values().toArray());
        setModified();
        new ConsoleJob(Messages.get().ExportFileBuilder_ResolveJobName, this, Activator.PLUGIN_ID, null) {

            @Override
            protected void runInternal(IProgressMonitor monitor) throws Exception {
                final Set<Long> eventCodes = new HashSet<Long>();
                final Map<Long, Script> scriptList = new HashMap<Long, Script>();
                for (Long id : idList) {
                    long[] e = session.getDataCollectionEvents(id);
                    for (long c : e) {
                        if (c >= 100000)
                            eventCodes.add(c);
                    }
                    for (Script s : session.getDataCollectionScripts(id)) scriptList.put(s.getId(), s);
                }
                runInUIThread(new Runnable() {

                    @Override
                    public void run() {
                        for (EventObject e : session.findMultipleEventObjects(eventCodes.toArray(new Long[eventCodes.size()]))) {
                            events.put(e.getCode(), e);
                        }
                        eventViewer.setInput(events.values().toArray());
                        scripts.putAll(scriptList);
                        scriptViewer.setInput(scripts.values().toArray());
                    }
                });
            }

            @Override
            protected String getErrorMessage() {
                return null;
            }
        }.start();
    }
}
Also used : Script(org.netxms.client.Script) Set(java.util.Set) HashSet(java.util.HashSet) EventObject(org.netxms.client.events.EventObject) Template(org.netxms.client.objects.Template) EventTemplate(org.netxms.client.events.EventTemplate) ObjectSelectionDialog(org.netxms.ui.eclipse.objectbrowser.dialogs.ObjectSelectionDialog) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) TemplateGroup(org.netxms.client.objects.TemplateGroup) AbstractObject(org.netxms.client.objects.AbstractObject) ConsoleJob(org.netxms.ui.eclipse.jobs.ConsoleJob) Map(java.util.Map) HashMap(java.util.HashMap) HashSet(java.util.HashSet)

Aggregations

Script (org.netxms.client.Script)15 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)10 ConsoleJob (org.netxms.ui.eclipse.jobs.ConsoleJob)10 PartInitException (org.eclipse.ui.PartInitException)9 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)5 IOException (java.io.IOException)4 ArrayList (java.util.ArrayList)3 StructuredSelection (org.eclipse.jface.viewers.StructuredSelection)2 EventObject (org.netxms.client.events.EventObject)2 EventTemplate (org.netxms.client.events.EventTemplate)2 Template (org.netxms.client.objects.Template)2 CreateScriptDialog (org.netxms.ui.eclipse.nxsl.dialogs.CreateScriptDialog)2 Comparator (java.util.Comparator)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 Iterator (java.util.Iterator)1 List (java.util.List)1 Map (java.util.Map)1 Set (java.util.Set)1 UUID (java.util.UUID)1