2011-01-18 9 views
0

BIRT(getURI)で利用可能な同じURIをプログラムで取得したいと考えています。私は、Rational Software Modelerプラグレットを開発しており、ダイアグラム要素の一意の識別子を取得する必要があります。これにより、後のデータベースETLプロセスで要素を認識できるようになります。RSMダイアグラム要素のURIを取得します。

私は、EObject.eResource()。getURI()で利用可能なURIを見つけましたが、BIRTレポートで返されるものの半分しか返さない点が異なります。 BIRTは "platform:/resource/Common/S.efx#_c0KLYFImEd-iIqDctBy_JQ"を返しますが、EObject.eResource()。getURI()は "platform:/resource/Common/S.efx"のみを返します。

感謝されます。

答えて

2

ECoreUtil.getURI(EObject)関数でURI全体を取得できるはずですが、フラグメント部分も含める必要があります。

EObject.eResource()。getURI()は、このオブジェクトが配置されているリソースのURIを返します。オブジェクト固有のIDは含まれません。

フラグメント終了ハッシュには、必要に応じてECoreUtil.getID(EObject)を使用して返すことができるEObjects XMI-IDがあります。しかし、そのECoreUtil.getURI(EObject)はちょうどokです。

+0

ありがとうございました!私は、そのURIを見つけようとして、私の髪を引っ張ってきました。 – Jeffrey

関連する問題