Search in sources :

Example 1 with Event

use of org.yamcs.protobuf.Yamcs.Event in project yamcs-studio by yamcs.

the class AddManualEventHandler method execute.

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    IWorkbenchPart part = HandlerUtil.getActivePartChecked(event);
    EventLogView view = (EventLogView) part;
    String action = event.getParameter(EVENT_ADD_ACTION);
    if (action.equals(EVENT_ADD)) {
        AddManualEventDialog addManualEventDialog = new AddManualEventDialog(part.getSite().getShell());
        int result = addManualEventDialog.open();
    } else {
        // action.equals(EVENT_INSERT)
        ISelection sel = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getSelection();
        // get selected event and open a manual event dialog using the selected generation time.
        if (sel != null && sel instanceof IStructuredSelection) {
            IStructuredSelection selection = (IStructuredSelection) sel;
            Iterator<?> it = selection.iterator();
            Event rec = (Event) it.next();
            long generationTime = rec.getGenerationTime();
            AddManualEventDialog addManualEventDialog = new AddManualEventDialog(part.getSite().getShell(), generationTime);
            int result = addManualEventDialog.open();
        }
    }
    return null;
}
Also used : IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) ISelection(org.eclipse.jface.viewers.ISelection) ExecutionEvent(org.eclipse.core.commands.ExecutionEvent) Event(org.yamcs.protobuf.Yamcs.Event) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection)

Example 2 with Event

use of org.yamcs.protobuf.Yamcs.Event in project yamcs-studio by yamcs.

the class ExportEventsHandler method execute.

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    Shell shell = HandlerUtil.getActiveShell(event);
    IWorkbenchPart part = HandlerUtil.getActivePartChecked(event);
    EventLogView eventLogView = (EventLogView) part;
    // Ask for file to export
    FileDialog dialog = new FileDialog(Display.getCurrent().getActiveShell(), SWT.SAVE);
    dialog.setFilterExtensions(new String[] { "*.csv" });
    String targetFile = dialog.open();
    if (targetFile == null) {
        // cancelled
        return null;
    }
    // Write CSV
    try {
        List<Event> events = eventLogView.getEventLog().getEvents();
        writeEvents(new File(targetFile), events);
        MessageDialog.openInformation(shell, "Export Events", "Events exported successfully.");
    } catch (Exception e) {
        MessageDialog.openError(shell, "Export Events", "Unable to perform events export.\nDetails:" + e.getMessage());
    }
    return null;
}
Also used : Shell(org.eclipse.swt.widgets.Shell) IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) ExecutionEvent(org.eclipse.core.commands.ExecutionEvent) Event(org.yamcs.protobuf.Yamcs.Event) FileDialog(org.eclipse.swt.widgets.FileDialog) File(java.io.File) IOException(java.io.IOException) ExecutionException(org.eclipse.core.commands.ExecutionException)

Example 3 with Event

use of org.yamcs.protobuf.Yamcs.Event in project yamcs-studio by yamcs.

the class EventCatalogue method createEvent.

public CompletableFuture<byte[]> createEvent(String source, int sequenceNumber, String message, long generationTime, long receptionTime, EventSeverity severity) {
    String instance = ManagementCatalogue.getCurrentYamcsInstance();
    String resource = "/archive/" + instance + "/events/";
    Event event = Event.newBuilder().setSource(source).setSeqNumber(sequenceNumber).setMessage(message).setGenerationTime(generationTime).setReceptionTime(receptionTime).setSeverity(severity).build();
    YamcsClient yamcsClient = YamcsPlugin.getYamcsClient();
    return yamcsClient.post(resource, event);
}
Also used : YamcsClient(org.yamcs.studio.core.client.YamcsClient) Event(org.yamcs.protobuf.Yamcs.Event)

Example 4 with Event

use of org.yamcs.protobuf.Yamcs.Event in project yamcs-studio by yamcs.

the class CopyEventDetailsHandler method execute.

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection sel = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getSelection();
    if (sel != null && sel instanceof IStructuredSelection) {
        IStructuredSelection selection = (IStructuredSelection) sel;
        String property = event.getParameter(EventLog.CMDPARAM_EVENT_PROPERTY);
        StringBuilder text = new StringBuilder();
        Iterator<?> it = selection.iterator();
        while (it.hasNext()) {
            Event rec = (Event) it.next();
            switch(property) {
                case PARAM_MESSAGE:
                    text.append(rec.getMessage());
                    break;
                case PARAM_SOURCE:
                    text.append(rec.getSource());
                    break;
                case PARAM_TYPE:
                    text.append(rec.getSource());
                    break;
                case PARAM_GENTIME:
                    text.append(rec.getGenerationTimeUTC());
                    break;
                case PARAM_RECTIME:
                    text.append(rec.getReceptionTimeUTC());
                    break;
                case PARAM_SEQNO:
                    text.append(rec.getSeqNumber());
                    break;
                case PARAM_SEVERITY:
                    text.append(rec.getSeverity());
                    break;
                default:
                    throw new IllegalStateException("Unexpected property: " + property);
            }
            if (it.hasNext()) {
                text.append("\n");
            }
        }
        Display display = Display.getCurrent();
        Clipboard clipboard = new Clipboard(display);
        Transfer[] transfers = new Transfer[] { TextTransfer.getInstance() };
        clipboard.setContents(new Object[] { text.toString() }, transfers);
        clipboard.dispose();
    }
    return null;
}
Also used : ISelection(org.eclipse.jface.viewers.ISelection) TextTransfer(org.eclipse.swt.dnd.TextTransfer) Transfer(org.eclipse.swt.dnd.Transfer) ExecutionEvent(org.eclipse.core.commands.ExecutionEvent) Event(org.yamcs.protobuf.Yamcs.Event) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Clipboard(org.eclipse.swt.dnd.Clipboard) Display(org.eclipse.swt.widgets.Display)

Example 5 with Event

use of org.yamcs.protobuf.Yamcs.Event in project yamcs-studio by yamcs.

the class CopyEventHandler method execute.

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection sel = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getSelection();
    if (sel != null && sel instanceof IStructuredSelection) {
        IStructuredSelection selection = (IStructuredSelection) sel;
        StringBuilder text = new StringBuilder("Severity\tMessage\tType\tSource\tGeneration\tReception\tSequence Number\n");
        Iterator<?> it = selection.iterator();
        while (it.hasNext()) {
            Event rec = (Event) it.next();
            text.append(rec.getSeverity()).append("\t").append(rec.getMessage()).append("\t").append(rec.getType()).append("\t").append(rec.getSource()).append("\t").append(rec.getGenerationTimeUTC()).append("\t").append(rec.getReceptionTimeUTC()).append("\t").append(rec.getSeqNumber()).append("\n");
        }
        Display display = Display.getCurrent();
        Clipboard clipboard = new Clipboard(display);
        Transfer[] transfers = new Transfer[] { TextTransfer.getInstance() };
        clipboard.setContents(new Object[] { text.toString() }, transfers);
        clipboard.dispose();
    }
    return null;
}
Also used : ISelection(org.eclipse.jface.viewers.ISelection) TextTransfer(org.eclipse.swt.dnd.TextTransfer) Transfer(org.eclipse.swt.dnd.Transfer) ExecutionEvent(org.eclipse.core.commands.ExecutionEvent) Event(org.yamcs.protobuf.Yamcs.Event) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Clipboard(org.eclipse.swt.dnd.Clipboard) Display(org.eclipse.swt.widgets.Display)

Aggregations

Event (org.yamcs.protobuf.Yamcs.Event)8 ExecutionEvent (org.eclipse.core.commands.ExecutionEvent)6 ISelection (org.eclipse.jface.viewers.ISelection)4 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)4 Clipboard (org.eclipse.swt.dnd.Clipboard)2 TextTransfer (org.eclipse.swt.dnd.TextTransfer)2 Transfer (org.eclipse.swt.dnd.Transfer)2 Display (org.eclipse.swt.widgets.Display)2 Shell (org.eclipse.swt.widgets.Shell)2 IWorkbenchPart (org.eclipse.ui.IWorkbenchPart)2 CsvWriter (com.csvreader.CsvWriter)1 File (java.io.File)1 FileOutputStream (java.io.FileOutputStream)1 IOException (java.io.IOException)1 ExecutionException (org.eclipse.core.commands.ExecutionException)1 FileDialog (org.eclipse.swt.widgets.FileDialog)1 YamcsClient (org.yamcs.studio.core.client.YamcsClient)1