0 嗨,斯蒂芬, 您创建的结果文档是否已添加到数据库中?如果没有,则需要将它们添加到其中而不是移动。 您可以使用 addDocumentCopy() 方法执行此操作。 如果它们已经在数据库中,那么您能告诉我您是否遇到异常或者 move 方法是否返回 false? 干杯,马修 马修·张 2017年9月29日3:53 0 票分享 评论动作 永久链接
0 嗨,斯蒂芬, 澄清一下,Geneious 核心将处理我们许多插件类型的结果,并将它们添加到数据库中。 如果您想要执行 API 当前不支持的操作,或者您正在编写一种通常没有输出的插件,您只需手动添加它们。 例如,如果您正在编写 DocumentOperation,那么您添加到 OperationCallback 或在结果列表中返回的任何文档都会自动添加到与输入文档相同的文件夹中。 如果您需要一个子文件夹,您可以使用 DocumentOperation.OperationCallback.setSubFolder(String name) 并且任何结果都将添加到子文件夹中。 但是,如果您想做一些更复杂的事情,例如将文档保存到不相关的文件夹,则必须手动添加它们。 干杯,马修 马修·张 2017年10月4日20:50 0 票分享 评论动作 永久链接
0 嗨,斯蒂芬, 有多个具有不同签名的 performOperation 变体。 您应该能够使用其他变体之一来实现您的需要。 如果您正在实现不使用 OperationCallback 的变体之一,那么您只需要返回列表中的文档。 如果你告诉我你正在实现什么类型的插件/类,那么我可能会提供更多帮助。 干杯,马修 聚苯乙烯建议不要使用它以避免在未来版本的 Geneious 中出现任何问题。 我们将在 API 的下一个主要版本(不是 Geneious 的下一个版本)中删除该特定的 performOperation 方法。 需要记住的是,我们的 API 在过去 9 年中一直保持在同一主要版本上。 Geneious Team 2017年11月20日2:25 0 票分享 评论动作 永久链接
0 案件已结! 周一重新开始解决了一些最奇怪的问题。 对于其他寻求帮助的人,我记录了以下解决方案: @覆盖public void performOperation(AnnotatedPluginDocument[] annotatedDocuments, ProgressListener progressListener, Options options, SequenceSelection sequenceSelection, OperationCallback callback) 抛出 DocumentOperationException { ....DocumentOperation primeOperation = PluginUtilities.getDocumentOperation("Operation_com.biomatters.plugins.primerDesign.DesignAnnotationGenerator"); ...尝试 { callback.setSubFolder("启动序列"); } catch (DatabaseServiceException e) { e.printStackTrace(); } primerOperation.performOperation(new AnnotatedPluginDocument[]{document},ProgressListener.EMPTY,primerOperationOptions,sequenceSelection,callback); } 感谢马修的所有有用评论!斯蒂芬 斯蒂芬·雅诺施 2017年11月20日12:26 0 票分享 评论动作 永久链接