Frage

Ich möchte in der Lage sein, programmatisch die gleiche URI abzurufen, die durch BIRT (getUri) zur Verfügung steht. Ich entwickle eine Rational Software Modeler-Plug-let und Notwendigkeit, die eindeutige Kennung für die Diagrammelemente zu erhalten. Dies würde die Elemente ermöglicht in späteren Datenbank ETL-Prozessen erkannt werden.

Ich habe eine URI verfügbar durch EObject.eResource (). GetUri () gefunden, außer es liefert nur die Hälfte von dem, was in den BIRT-Berichten zurückgeführt wird. BIRT-Berichte so etwas wie "Plattform: /resource/Common/S.efx#_c0KLYFImEd-iIqDctBy_JQ", während EObject.eResource () getUri () nur zurückgibt. "-Plattform: /resource/Common/S.efx"

Jede mögliche Hilfe würde geschätzt.

War es hilfreich?

Lösung

Sie sollten in der Lage sein, die gesamte URI mit ECoreUtil.getURI (EObject) Funktion zu erhalten, sollte es auch das Fragment Teil umfassen.

EObject.eResource (). GetUri () gibt Ihnen die URI der Ressource, wo dieses Objekt befindet, so wird es nicht umfasst die eigene eindeutige ID Objekte gibt.

Das Fragment endet Hash gibt es EObjects XMI-ID, die bei Verwendung von ECoreUtil.getID (EObject) benötigt zurückgegeben werden kann. Aber das ECoreUtil.getURI (EObject) sollte nur in Ordnung sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top