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