問題タブ [emf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1370 参照

eclipse-emf - EMF アプリケーションで利用可能なすべてのモデルを一覧表示する

2 つの Eclipse プラグイン プロジェクトで構成されるプロジェクトに取り組んでいます。1 つは EMF プロジェクトで、アプリケーションのメタモデルが含まれています。もう 1 つは、そのメタモデルで動作する実際のプラグインです。

現在、メタモデル プロジェクトで利用可能なすべてのタイプのモデルを一覧表示する方法を探しています。基本的に生成されたすべてのクラスが必要なので、リフレクションを使用してメタモデル パッケージを反復処理できますが、より簡単な方法がある場合はもっと簡単な方法を使用したいと思います。

plugin.xmlモデルは、次のように拡張機能として既にリストされています。

クラスMyModelPackageが拡張EPackageorg.myproject.metamodel.MyModelれ、リストする必要がある他のすべての生成されたクラスも含まれています。私はその情報を使用できると推測していますが、まだ方法がわかりません。

アップデート

私が取り組んでいるプロジェクトはEMFStoreに基づいています。それを実行すると、EMFStore パースペクティブが提供されます。プロジェクトのナビゲータ ビューがある場合は、そのプロジェクトを右クリックして を選択できますNew Model Element。これにより、メタモデルのすべてのモデル要素が一覧表示されるダイアログが開きます。EMFStore のどこか、またはその依存関係の 1 つで実行する必要があります。ソースコードを調べましたが、それがどこで行われたかを見つけることができないようです。

plugin.xmlプロジェクトのは、ソースで見つからないorg.eclipse.emf.emfstore.perspectiveクラスを参照しています。org.eclipse.emf.emfstore.emfperspective.EMFStorePerspectiveEclipse Import Plug-Ins and Fragments 機能を使用してプロジェクトをインポートしましたが、ソース フォルダーがありません。EMFStore git リポジトリでは、そのプロジェクトさえ見つかりません。

アップデート

を使用して、生成されたパッケージを含むレジストリを取得しましたEPackage.Registry.INSTANCE。残念ながら、メタデータ ( ) を含む 1 つのプロジェクトからの複数の EPackages が含まれていますorg.myproject.metamodel。今、私はそれをフィルタリングする適切な方法を探していますが、まだコツをつかむことができません.

アップデート

フィルタリングは元の質問の一部ではないため、@SpaceTrucker による回答を受け入れました。興味のある方のために、これが私が今やっている方法です:

プロジェクトをフィルタリングする方法が見つかりませんでしたが、幸運にもすべてのパッケージが同じプレフィックスで始まります。

0 投票する
1 に答える
912 参照

eclipse - Eclipse UML2:プロファイルで定義されたプロパティの値を取得します

私はEclipseUML2を初めて使用し、次の問題で立ち往生しています。

ServiceRequestとTransitionEdgeの2つのステレオタイプでプロファイルを定義しました。ServiceRequestは2つの追加プロパティ(cpu、memory)でActionメタクラスを拡張し、TransitionEdgeは「probability」と呼ばれる追加プロパティでActivityEdgeメタクラスを拡張します。これらのプロパティはすべて、PrimitiveTypeとして定義されたfloat型です。

プロファイルとステレオタイプが適用されたアクティビティ図を作成しました。アクティビティ図では、各エッジはプロファイルで定義されたTransitionEdgeであり、確率プロパティに値が割り当てられています。

プロファイルとアクティビティモデルを用意して、次のJavaコードを使用してそれらをロードします。

getValueメソッドが要素に対して呼び出されると、例外がスローされます。エラーメッセージは次のとおりです。

何が起こっているのか理解できませんでした。助言がありますか?どうもありがとう!!

0 投票する
1 に答える
3199 参照

dsl - Xtext (DSL ファイル) から Ecore へ

Xtext プロジェクトといくつかのサンプル DSL ファイルがあります。これらのファイルを「Sample Ecore Model Editor」で開き、Xtext によって生成されたメタモデルに準拠していることを検証できます。しかし、DSL ファイルが Ecore として認識されないため、「EMF プロジェクト」または「EMF ジェネレーター モデル」を作成できません。

私の質問は、どうすれば自分のexample.dslファイルから ecore をエクスポートできますか?

PS私はこれがこの事実のために可能であると信じています

0 投票する
2 に答える
1521 参照

eclipse - EMF モデルのシリアル化

EMF に慣れてきたので、頭の中にある概念が正しいかどうかを確認したいと思います。

Eclipse で EMF モデルを作成し、これを使用して Java コードを生成できることを理解しています。

モデルをディスクにシリアライズしてから再び戻すことができることはさらに理解していますが、これの使用法はわかりません。

モデルファイル自体はそのまま保存できるのでしょうか?シリアル化の明らかな使用例はありますか?

0 投票する
1 に答える
125 参照

gwt - acceleo と jboss errai および gwt の統合

GWT を使用して jboss errai でプロジェクトを作成する必要がありますが、eclipse モデリング フレームワーク .ecore モデルを使用して acceleo を使用してモデル コードのマストを生成したいと考えています。私はこのようなことをしました。

  1. コマンドを使用して作成されたmavenプロジェクト

mvn archetype:generate -DarchetypeGroupId=org.jboss.errai.archetypes -DarchetypeArtifactId=cdi-quickstart -DarchetypeVersion=2.2.0.Final

  1. 既存の Maven プロジェクトとして Eclipse にインポートされたプロジェクト。

  2. Acceleo->Convert Project to Acceleo Generator Project に移動しますが、何も得られません。

  3. 次に、Acceleo->Convert to Acceleo MTL Projects に移動し、新しい acceleo プロジェクトを作成し、.ecore モデルを使用して以前のプロジェクトにモデルを生成しましたが、EString を String で取得し、その他を E-datatype として取得しているため、モデル クラスでエラーが発生します。 jboss errai maven プロジェクトで acceleo 機能を使用する方法を教えてください。

私のテンプレートファイルは次のとおりです:

.ecore モデルから生成されたモデルの 1 つは次のとおりです。

ここでは、String の代わりに EString を取得し、他のプリミティブ データ型を E-Data 型として取得しています。

Plzは解決策を提案しますどうすればJavaデータと他のプロセッサを同じように入手できますか

0 投票する
0 に答える
339 参照

eclipse-rcp - EMF 検証: 適切な方法は?

現在、EMF Validation を使用して、モデルの制約違反が発生した場合にユーザーに直接フィードバックを提供しています。

システムは次のように設定されています。

  • EContentAdapterモデルに対して行われたすべての変更を記録する
  • は、のCommandStackListener終了時に、これらの変更を EMF 検証フレームワークにプッシュしCommandます。これにより、実行される検証の数が減ります。EMFLiveValidatorは、SUCCESS も報告するように構成されています。
  • すべての制約はNotification、次の基準に基づいて を 調べます。
    • 検証されているエンティティのコンテンツの変更ですか?
    • 検証中のエンティティを追加する変更ですか?
    • 以前に計算された検証結果に別の方法で影響を与える変更はありますか?
  • は、制約に失敗したValidationListenerすべてのエンティティのリストを保持します。新しい SUCCESS または FAILED ConstraintStatus メッセージでこのリストを更新します。また、リストを更新して、リソースに含まれなくなった FAILED エンティティを削除します (削除されたため)。

多くの機能を自分で実装したようです。以下を行うために利用できる標準の API / 実装はありませんか?

  • 検証ステータスの追跡
  • Constraint が使用する属性を追跡します。これらの属性のいずれかが変更された場合にのみ再検証します。
    • JFace Databinding のComputedValue動作に匹敵します。

それとも、実際にフレームワークを最大限に使用していますか? OCL 制約を使用する場合、システムはどの変更が制約の結果に影響を与えるかを検出できますか?

0 投票する
1 に答える
176 参照

java - EMF Compare コードのコンパイルの問題

EMF 比較のバージョン: 2.1.0 M6 (2013/03/19 17:50)

このガイドで説明されているように、スタンドアロンの比較を使用しようとしています。以下のコンパイルエラーが発生します

以下のコードの

setMatchEngine下の図に示すように、他の API に置き換えられていることがわかります。matchEngineその API を使用して new を指定する方法がわかりません。

ここに画像の説明を入力

0 投票する
1 に答える
418 参照

java - Eclipse 用の EMF

このチュートリアルに従って EMF の学習を始めたばかりです: すべての Eclipse 開発者が EMF について知っておくべきこと (Jonas Helming と Maximilian Koegel による)

そこで、Eclipse に EMF を追加するための更新をダウンロードしました。抽出後のファイルは次のように呼ばれます。

emf-xsd-Update-2.8.3

私は今何をしますか?EMF を IDE にインストールするにはどうすればよいですか?

そこにあることをIDEに指定するにはどうすればよいですか?!

(私は Java 開発者向けの Eclipse IDE [Mac 上の Juno] と e2m を持っています)

ありがとう、