Domanda

Mi piacerebbe essere in grado di recuperare a livello di codice lo stesso URI che è disponibile attraverso BIRT (getUri). Sto sviluppando un Rational Software Modeler plug-let e la necessità di ottenere l'identificatore univoco per gli elementi diagramma. Ciò consentirebbe gli elementi per essere riconosciuto nei processi ETL di database più tardi.

Ho trovato un URI disponibile attraverso EObject.eResource (). GetUri (), eccetto che restituisce solo la metà di ciò che viene restituito nei rapporti BIRT. BIRT riporta qualcosa come "piattaforma: /resource/Common/S.efx#_c0KLYFImEd-iIqDctBy_JQ" mentre EObject.eResource () getUri () restituisce solo. "Piattaforma: /resource/Common/S.efx"

Qualsiasi aiuto sarebbe apprezzato.

È stato utile?

Soluzione

Si dovrebbe essere in grado di ottenere l'intero URI con funzione di ECoreUtil.getURI (EObject), esso dovrebbe includere anche la parte frammento.

EObject.eResource (). GetUri () si ritorna URI della risorsa in cui si trova l'oggetto, in modo da non includere il proprio ID univoco Oggetti lì.

Questo frammento fine hash c'è EObjects XMI-ID, che può essere restituito utilizzando ECoreUtil.getID (EObject) se necessario. Ma che ECoreUtil.getURI (EObject) dovrebbe essere ok.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top