問題タブ [eclipse-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.
eclipse - EMFモデルを動的にロードする
RESTベースのAPIを介してアクセスするバックエンドシステムがあり、リソースが返されます。これはEMFリソース(XMI表現)です。問題は、設計時に、このリソースのメタモデルを想定できないことです。バックエンドシステムのメタモデルは、予告なしに変更される可能性があるためです。
まず、バックエンドからメタモデル(.ecoreファイル)を読み取り、コードを生成してから、モデルを読み取ることができるかどうか疑問に思っています。確かに、これは遅くなりますが、セッションごとに1回だけメタモデルを読み取る必要があり、これによって固定メタモデルにコミットすることはできません。これは機能しますか?または私が望むものを達成するためのより良い方法はありますか?
また、これはUIでも機能しますか?バックエンドからモデルを読み取り、適切な視覚化でモデルを表示する直前に、実行時にエディターコード(EMF.Edit)を生成できますか?
動的EMFは私の問題の解決に役立ちますか?
java - emf エディターでフィールドのタイプを変更する
ユーザーが生成されたエディターを使用してモデルを作成できるように、EMF を使用しています。エディターのプロパティで、モデルのプロパティの 1 つで、ユーザーが文字列値を使用する代わりに「...」ボタンをクリックするようにします。彼が「...」ボタンをクリックすると、リストから選択するために作成したダイアログが開きます。プロパティを変更して、単なる文字列ではなく「...」を表示するにはどうすればよいですか。それはecoreファイルで行われますか?
そうです。
java - XSD スキーマから EMF モデル (.ecore、.genmodel) をプログラムで生成する方法は?
私はこれを、モデリング プログラムで使用されるファイル形式から EMF モデルに変換するスタンドアロン アプリケーションの最後の段階として試みてきました。元の形式を XSD に変換でき、これを Eclipse インポーターを使用して手動で EMF モデルに変換できますが、プロセスを自動化するためにプログラムでこれを行う方法がわかりません。Javaコマンドは、Java内からステートメントを実行するだけでよいため、同じことを行うコマンドラインステートメントと同様に正常に機能します。http://wiki.eclipse.org/Generating_Dynamic_Ecore_from_XML_Schemaを試して、これを行う方法をしばらく探しましたおよび他のさまざまな潜在的な解決策がありますが、何も機能していないようです。XSD ファイルから .ecore および (/または?) .genmodel ファイルを生成する方法に関するサンプル コードを誰かが提供できる場合は、非常に感謝していますが、どのように進めることができるかについてのガイダンスさえあります。非常に役立ちます。
ありがとうございました。
java - スキーマの変更後にecoreを再生成する
xsd ファイルにスキーマがあります。たまに新しいバージョンのスキーマが作成され、.ecore (および .genmodel) を更新する必要があります。それらを削除せずに更新して再生成するにはどうすればよいですか。ecore に手動で変更を加えましたが、この変更を保持したいと考えています。
そうです。
eclipse - Eclipse インストール以外のワークスペースを使用して EMF ジェネレーターをヘッドレスで呼び出すにはどうすればよいですか?
バッチ ファイルとヘッドレス コマンドを使用して、EMF Genmodel の編集コードとエディター コードを生成しようとしています。
ここに私のバッチコードがあります:
EMF Book と以前の試行を参照すると、これは正しいコマンドであるはずです。しかし、コマンドを実行しようとすると、次のパスで genmodel ファイルを検索しているため、FileNotFound Exception が発生します。
Eclipse または emf ジェネレーターがワークスペースへのパスを無視しているようです。私はこれを理解していないし、私はそれを修正することはできません.
この世代を正しく呼び出す方法を知っている人はいますか? どこからエラーを探す必要がありますか? それとも、これは新しい emf バージョンのバグでしょうか?
(このコマンドは以前は機能していたと確信しています)
ありがとうございました!
eclipse - EMF ecoreとxsdが同期していません、どのように解決しますか?
私のアプリケーションは、Javaクラスの生成前にecoreに変換されたxsdのモデルベースを使用しています。私のチームメンバーの1人が、以前のバージョンの.ecoreメタモデルを変更しました。これは、以前は生成されていた属性の1つです。彼は属性名を変更しましたが、xmlの永続性に使用される要素名を指定する拡張メタデータは変更しませんでした。
したがって、javaDocsAndUserApiという属性名とdocsAndUserApiという名前の永続化された要素があります。もちろん、xsdの属性をjavaDocsAndUserApiという名前に変更すると、ecore変換によってメタデータ名javaDocsAndUserApiも生成され、互換性が失われます。以前に永続化されたモデル。
xsdオーサリングガイドを見て、xsdからecoreへの変換中にメタデータにdocsAndUserApiという名前を付けるために、xsdで使用するキーを指定できるecore:som_attributeを見つけましたが、何も見つかりませんでした。誰かが私を助けるためのアイデアを持っていますか?
ありがとうございました。
c# - C# の EMF (Eclipse モデリング フレームワーク)
私は過去にEclipse EMFで働いていました
現在、C# で作業して、メタデータ、ロジック、永続性などをキャプチャするための広範なモデリングが必要なツールを作成しています。C# で同等のものは何ですか?
EMF の考え方は、UML でモデルを定義してからコードを生成するというものです。生成されたコードは、それ自体を保持/ロードする方法、メタデータを公開する方法、他の EMF モデルにリンクする方法などを知っています。
ありがとう
eclipse - Eclipse で CellEditor を作成中に AssertionFailedException が発生する
うまくいけば、誰かが私を正しい方向に向けることができます。Eclipse で CellEditor を作成しようとしていますが、フィールドをクリックすると、以下のスタック トレースで Unhandled イベント ループ例外が発生します。
この列のセル エディター コードは次のようになります。
java - Eclipse Modeling Framework (EMF): Magicdraw UML2 エクスポートから DomainModel を取得する方法
コード生成に EMF を使用したいので、自分で生成した UML2 ファイルをロードするメソッドをいくつか書きました。これは、次のコードで正常に機能します。
しかし今、Magicdraw-Domainmodel を EMF UML2 XMI にエクスポートしたかったのですが、そこに 5 つのファイルがあります。1 つの project.uml と 4 つのプロファイル ファイル (UML_Standard_Profile.MagicDraw_Profile.DSL_Customization.profile.uml、UML_Standard_Profile.MagicDraw_Profile.profile.uml、UML_Standard_Profile.UML_Standard_Profile.profile.uml、UML_Standard_Profile.Validation_Profile.profile.uml)。そのため、loadPackageclass を使用して project.uml をロードする場合、パッケージは null です。
MagicDraw でエクスポートされた UML DomainModel をロードする方法について、サンプル アプリを持っている人はいますか?
ドミニク
xpath - Ecoreから派生したXMIインスタンスの参照に使用されるクエリ/パス言語は何ですか?
パッケージと、相互に参照するいくつかのクラスを含むEcoreモデルがあるとします。「動的インスタンス」を作成すると、EclipseはXMIファイルを生成し、いくつかのクラスをインスタンス化できます。children
包含関係は、XMIのXMLツリー(例の要素)に直接シリアル化されます。しかし、ツリーのどこかにすでに含まれている要素への参照をインスタンス化すると、エディターはcurrentChild
属性に対して次のようにパス式を書き込みます。
私の知る限り、これはXPathではありません。理由は次のとおりです。
- 「
childrens
」は属性ではなく要素であり、「@
」を介して参照する必要はありません。 - XPathはegを使用し、egを取得
elem[1]
しないでリストの2番目の要素を取得しますelem.1
それは何で、どこで情報を見つけることができますか?私はすでにEMFページ/仕様を閲覧しようとしましたが、見つかりませんでした。