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;
}
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();
}
}
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();
}
}
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();
}
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();
}
}
Aggregations