2017-05-24 2 views
1

私は拡張することにより、フクロウ-API 4.5.2かかわらず、カスタム・ストレージ・レンダラを実装している: AbstractOWLStorer
OWLStorerFactoryImpl
AbstractOWLRenderer
OWLDocumentFormatFactoryImpl
PrefixDocumentFormatImpl
OWLObjectVisitor
OWLClassExpressionVisitorAdapter
門徒5.2カスタム "として保存.." ファイル形式

コードは機能していますが、これをfo Protheme 5.2の「Save as ..」ダイアログを通じて利用可能なrmat。私は、プラグインのサンプルコードをガイドとして使用して、プラグインフレームワークを通してコードを正常にロードしました。
は、私は、プラグインツールメニューの初期化コール

final OWLModelManager modelManager = getOWLModelManager(); 
OWLOntologyManager om = modelManager.getOWLOntologyManager(); 
om.getOntologyStorers().add(new mySyntaxStorerFactory()); 

私はどちらかのマネージャが持続または対話コードが既に初期化されているとして、おそらく保存しないと思われるので、これが動作しない時の記憶手段に引っ掛けてみました。
これを行うより良い方法はありますか?この機能を処理する特定のプラグインの種類ですか?私は、カスタムツールメニュー項目を使ってエクスポートオントロジー機能を実装することができました。しかし、私は "Save as .."にもっときれいになるでしょう。
私はカスタムフォーマットでオントロジーを検索するパーサーも企画しています。この機能をプラグイン経由で実装するための推奨される方法はありますか?
ドキュメントのどこかでこれを忘れてしまったことをお詫び申し上げます。

答えて

0

保存コードとは別に、OWLDocumentFormatの実装も必要です。ただし、フォーマットを手動で登録する前に、使用可能なフォーマットのリストがProtegeコードで初期化されている可能性があります。

Protegeに配置する独自のOWLAPI jarを構築していると仮定して、 'META-INF/services'フォルダの内容を確認してください。これにより、作成されるとすぐに、すべてのマネージャがフォーマットとストアを利用できるようになります。

+0

多くのお客様に感謝します。実装しました
PreKeyDocumentFormatImplを拡張するgetKey()
getKey()およびcreateFromat()を拡張するOWLDocumentFormatFactoryImpl
コードはパッケージに含まれていますが、META-INFマニフェストには含まれていません。私は調査します。 – gbd

+0

私は、プラグインの例からmavenビルドを開始点として使用しています。 私はエントリを追加しようとしました:META-INF/services/org.semanticweb.owlapi.util.OWLStorerFactoryImplそして私の工場の実装のクラス名を与えます。残念ながら、それは動作していないようです。 – gbd

+0

ファイル名にImplを含めることはできません。インプリメンテーションクラスではなく、インターフェイスの名前と一致する必要があります。クラス名は、ファイル内にのみ表示する必要があります。 – Ignazio

関連する問題