0
头像

延迟的文档索引使插件行为不可预测

这篇文章与我之前的文章有关 - 概括一下:

我正在为 Geneious 编写一个插件。该插件为尚未导入的 ab1/fasta 序列创建占位符文档。这些占位符文档在我们收到真实序列的那一刻就过时了。

我有一个创建占位符文档的 DocumentAction 类和一个导入/创建真正的 ab1/fasta 序列的 DocumentOperation 类。

问题是:如果用户快速连续执行它们,第一个操作创建的 AnnotatedPluginDocuments 仍然对第二个操作不可见。大概是因为 Geneious 仍然忙于索引它们。

如何规避这种可见性/延迟索引问题?

信息管理

4 条评论

0
头像

DocumentAction 不用于生成新文档 - 它用于修改现有文档。(参见https://assets.geneious.com/developer/geneious/javadoc/latest/index.html

我建议改为创建 DocumentOperation 并在 performOperation 期间进行所有导入,并且仅在完全准备好后才返回最终文档。您将不必处理复杂的占位符文档。

理查德·摩尔 0 票
评论动作 永久链接
0
头像

不幸的是我不能。占位符文件是从包含有关 dna 样本、BOLD 和我们的收集管理系统的各种信息的电子表格创建的。要求是序列和无关信息必须以任意顺序导入。所以我用一个虚拟序列创建了一个虚拟序列文档(这是遗留的,我可能已经使用了你的 TextDocument 类)。

信息管理 0 票
评论动作 永久链接
0
头像

您能否在一次操作中导入电子表格和所有 ab1/fasta 文件,以便立即创建序列文档?

或者,您可以使用 DatabaseService 的子类包装电子表格,以便用户可以使用retrieve 方法进行搜索/浏览。然后,您可以只为与查询匹配的序列导入 ab1/fasta 文件,也可以使其返回 SummaryDocument 的子类( https://assets.geneious.com/developer/geneious/javadoc/latest/com/biomatters/geneious /publicapi/documents/SummaryDocument.html ) 这是一种特殊的虚拟文档,Geneious 可以很好地处理。

理查德·摩尔 0 票
评论动作 永久链接
0
头像

你好

 

谢谢你的建议!不,导入电子表格和 fasta/ab1 序列之间可能需要数天或数周的时间。但也许你的选择是我们可以追求的

信息管理 0 票
评论动作 永久链接