Search in sources :

Example 1 with YamcsApiException

use of org.yamcs.api.YamcsApiException in project yamcs-studio by yamcs.

the class ArchiveIndexReceiver method getIndex.

public void getIndex(TimeInterval interval) {
    if (receiving) {
        log.info("already receiving data");
        return;
    }
    ArchiveCatalogue catalogue = ArchiveCatalogue.getInstance();
    catalogue.downloadIndexes(interval, data -> {
        try {
            IndexResult response = IndexResult.parseFrom(data);
            log.fine(String.format("Received %d archive records", response.getRecordsCount()));
            archiveView.receiveArchiveRecords(response);
        } catch (InvalidProtocolBufferException e) {
            throw new YamcsApiException("Failed to decode server message", e);
        }
    }).whenComplete((data, exc) -> {
        if (exc == null) {
            log.info("Done receiving archive records.");
            archiveView.receiveArchiveRecordsFinished();
            receiving = false;
        } else {
            archiveView.receiveArchiveRecordsError(exc.toString());
        }
    });
}
Also used : EditTagRequest(org.yamcs.protobuf.Rest.EditTagRequest) InvalidProtocolBufferException(com.google.protobuf.InvalidProtocolBufferException) YamcsApiException(org.yamcs.api.YamcsApiException) ArchiveTag(org.yamcs.protobuf.Yamcs.ArchiveTag) TimeInterval(org.yamcs.studio.core.TimeInterval) TimeEncoding(org.yamcs.utils.TimeEncoding) ListTagsResponse(org.yamcs.protobuf.Rest.ListTagsResponse) Logger(java.util.logging.Logger) CreateTagRequest(org.yamcs.protobuf.Rest.CreateTagRequest) IndexResult(org.yamcs.protobuf.Yamcs.IndexResult) ArchiveCatalogue(org.yamcs.studio.core.model.ArchiveCatalogue) Level(java.util.logging.Level) YamcsApiException(org.yamcs.api.YamcsApiException) InvalidProtocolBufferException(com.google.protobuf.InvalidProtocolBufferException) IndexResult(org.yamcs.protobuf.Yamcs.IndexResult) ArchiveCatalogue(org.yamcs.studio.core.model.ArchiveCatalogue)

Example 2 with YamcsApiException

use of org.yamcs.api.YamcsApiException in project yamcs-studio by yamcs.

the class ImportPastCommandsDialog method okPressed.

@Override
protected void okPressed() {
    YamcsClient yamcsClient = YamcsPlugin.getYamcsClient();
    if (yamcsClient == null) {
        MessageDialog.openError(Display.getCurrent().getActiveShell(), "Could not import commands\n", "Disconnected from Yamcs");
        return;
    }
    getButton(IDialogConstants.OK_ID).setEnabled(false);
    long start = TimeEncoding.fromCalendar(RCPUtils.toCalendar(startDate, startTime));
    long stop = TimeEncoding.fromCalendar(RCPUtils.toCalendar(stopDate, stopTime));
    TimeInterval interval = new TimeInterval(start, stop);
    ArchiveCatalogue catalogue = ArchiveCatalogue.getInstance();
    catalogue.downloadCommands(interval, data -> {
        try {
            CommandHistoryEntry commandHistoryEntry = CommandHistoryEntry.parseFrom(data);
            Display.getDefault().asyncExec(() -> {
                cmdhistView.processCommandHistoryEntry(commandHistoryEntry);
            });
        } catch (InvalidProtocolBufferException e) {
            throw new YamcsApiException("Failed to decode server message", e);
        }
    }).whenComplete((data, exc) -> {
        if (exc == null) {
            Display.getDefault().asyncExec(() -> {
                ImportPastCommandsDialog.super.okPressed();
            });
        } else {
            getButton(IDialogConstants.OK_ID).setEnabled(true);
        }
    });
}
Also used : YamcsApiException(org.yamcs.api.YamcsApiException) IDialogConstants(org.eclipse.jface.dialogs.IDialogConstants) CommandHistoryEntry(org.yamcs.protobuf.Commanding.CommandHistoryEntry) YamcsClient(org.yamcs.studio.core.client.YamcsClient) Calendar(java.util.Calendar) Composite(org.eclipse.swt.widgets.Composite) GridData(org.eclipse.swt.layout.GridData) DateTime(org.eclipse.swt.widgets.DateTime) MessageDialog(org.eclipse.jface.dialogs.MessageDialog) YamcsPlugin(org.yamcs.studio.core.YamcsPlugin) ArchiveCatalogue(org.yamcs.studio.core.model.ArchiveCatalogue) InvalidProtocolBufferException(com.google.protobuf.InvalidProtocolBufferException) Shell(org.eclipse.swt.widgets.Shell) TimeCatalogue(org.yamcs.studio.core.model.TimeCatalogue) TimeInterval(org.yamcs.studio.core.TimeInterval) Display(org.eclipse.swt.widgets.Display) List(java.util.List) RowLayout(org.eclipse.swt.layout.RowLayout) TitleAreaDialog(org.eclipse.jface.dialogs.TitleAreaDialog) TimeEncoding(org.yamcs.utils.TimeEncoding) SWT(org.eclipse.swt.SWT) RCPUtils(org.yamcs.studio.core.ui.utils.RCPUtils) Label(org.eclipse.swt.widgets.Label) Control(org.eclipse.swt.widgets.Control) GridLayout(org.eclipse.swt.layout.GridLayout) YamcsApiException(org.yamcs.api.YamcsApiException) YamcsClient(org.yamcs.studio.core.client.YamcsClient) TimeInterval(org.yamcs.studio.core.TimeInterval) CommandHistoryEntry(org.yamcs.protobuf.Commanding.CommandHistoryEntry) InvalidProtocolBufferException(com.google.protobuf.InvalidProtocolBufferException) ArchiveCatalogue(org.yamcs.studio.core.model.ArchiveCatalogue)

Aggregations

InvalidProtocolBufferException (com.google.protobuf.InvalidProtocolBufferException)2 YamcsApiException (org.yamcs.api.YamcsApiException)2 TimeInterval (org.yamcs.studio.core.TimeInterval)2 ArchiveCatalogue (org.yamcs.studio.core.model.ArchiveCatalogue)2 TimeEncoding (org.yamcs.utils.TimeEncoding)2 Calendar (java.util.Calendar)1 List (java.util.List)1 Level (java.util.logging.Level)1 Logger (java.util.logging.Logger)1 IDialogConstants (org.eclipse.jface.dialogs.IDialogConstants)1 MessageDialog (org.eclipse.jface.dialogs.MessageDialog)1 TitleAreaDialog (org.eclipse.jface.dialogs.TitleAreaDialog)1 SWT (org.eclipse.swt.SWT)1 GridData (org.eclipse.swt.layout.GridData)1 GridLayout (org.eclipse.swt.layout.GridLayout)1 RowLayout (org.eclipse.swt.layout.RowLayout)1 Composite (org.eclipse.swt.widgets.Composite)1 Control (org.eclipse.swt.widgets.Control)1 DateTime (org.eclipse.swt.widgets.DateTime)1 Display (org.eclipse.swt.widgets.Display)1