Search in sources :

Example 1 with ArchiveCatalogue

use of org.yamcs.studio.core.model.ArchiveCatalogue 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 ArchiveCatalogue

use of org.yamcs.studio.core.model.ArchiveCatalogue 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)

Example 3 with ArchiveCatalogue

use of org.yamcs.studio.core.model.ArchiveCatalogue in project yamcs-studio by yamcs.

the class YamcsPlugin method start.

@Override
public void start(BundleContext context) throws Exception {
    super.start(context);
    plugin = this;
    TimeEncoding.setUp();
    yamcsClient = new YamcsClient(getProductString(), true);
    yamcsClient.addConnectionListener(new UIConnectionListener());
    ManagementCatalogue managementCatalogue = new ManagementCatalogue();
    catalogues.put(ManagementCatalogue.class, managementCatalogue);
    addYamcsConnectionListener(managementCatalogue);
    registerCatalogue(new TimeCatalogue());
    registerCatalogue(new ParameterCatalogue());
    registerCatalogue(new CommandingCatalogue());
    registerCatalogue(new AlarmCatalogue());
    registerCatalogue(new EventCatalogue());
    registerCatalogue(new LinkCatalogue());
    registerCatalogue(new ArchiveCatalogue());
}
Also used : ManagementCatalogue(org.yamcs.studio.core.model.ManagementCatalogue) YamcsClient(org.yamcs.studio.core.client.YamcsClient) TimeCatalogue(org.yamcs.studio.core.model.TimeCatalogue) ParameterCatalogue(org.yamcs.studio.core.model.ParameterCatalogue) AlarmCatalogue(org.yamcs.studio.core.model.AlarmCatalogue) EventCatalogue(org.yamcs.studio.core.model.EventCatalogue) CommandingCatalogue(org.yamcs.studio.core.model.CommandingCatalogue) LinkCatalogue(org.yamcs.studio.core.model.LinkCatalogue) ArchiveCatalogue(org.yamcs.studio.core.model.ArchiveCatalogue)

Example 4 with ArchiveCatalogue

use of org.yamcs.studio.core.model.ArchiveCatalogue in project yamcs-studio by yamcs.

the class ArchiveIndexReceiver method deleteTag.

public void deleteTag(ArchiveTag tag) {
    long tagTime = tag.hasStart() ? tag.getStart() : 0;
    int tagId = tag.getId();
    ArchiveCatalogue catalogue = ArchiveCatalogue.getInstance();
    catalogue.deleteTag(tagTime, tagId).thenRun(() -> {
        archiveView.tagRemoved(tag);
    });
}
Also used : ArchiveCatalogue(org.yamcs.studio.core.model.ArchiveCatalogue)

Example 5 with ArchiveCatalogue

use of org.yamcs.studio.core.model.ArchiveCatalogue in project yamcs-studio by yamcs.

the class ArchiveIndexReceiver method getTag.

public void getTag(TimeInterval interval) {
    if (receiving) {
        log.info("Already receiving data");
        return;
    }
    ArchiveCatalogue catalogue = ArchiveCatalogue.getInstance();
    catalogue.listTags(interval).whenComplete((data, exc) -> {
        if (exc == null) {
            try {
                ListTagsResponse response = ListTagsResponse.parseFrom(data);
                archiveView.receiveTags(response.getTagList());
                archiveView.receiveTagsFinished();
            } catch (InvalidProtocolBufferException e) {
                log.log(Level.SEVERE, "Failed to decode server message", e);
            }
        }
        receiving = false;
    });
}
Also used : ListTagsResponse(org.yamcs.protobuf.Rest.ListTagsResponse) InvalidProtocolBufferException(com.google.protobuf.InvalidProtocolBufferException) ArchiveCatalogue(org.yamcs.studio.core.model.ArchiveCatalogue)

Aggregations

ArchiveCatalogue (org.yamcs.studio.core.model.ArchiveCatalogue)7 InvalidProtocolBufferException (com.google.protobuf.InvalidProtocolBufferException)4 YamcsApiException (org.yamcs.api.YamcsApiException)2 CreateTagRequest (org.yamcs.protobuf.Rest.CreateTagRequest)2 EditTagRequest (org.yamcs.protobuf.Rest.EditTagRequest)2 ListTagsResponse (org.yamcs.protobuf.Rest.ListTagsResponse)2 ArchiveTag (org.yamcs.protobuf.Yamcs.ArchiveTag)2 TimeInterval (org.yamcs.studio.core.TimeInterval)2 YamcsClient (org.yamcs.studio.core.client.YamcsClient)2 TimeCatalogue (org.yamcs.studio.core.model.TimeCatalogue)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