我希望能够以编程方式检索通过BIRT(getURI)可用的相同URI。我正在开发Rational Software Modeler插件,需要获取图元素的唯一标识符。这将使元素能够在以后的数据库ETL过程中被识别。
我找到了一个可以通过EObject.eResource()。getURI()获得的URI,除了它只返回BIRT报告中返回的一半。 BIRT报告类似“platform:/resource/Common/S.efx#_c0KLYFImEd-iIqDctBy_JQ”,而EObject.eResource()。getURI()仅返回“platform:/resource/Common/S.efx”
任何帮助都将不胜感激。
答案 0 :(得分:2)
您应该能够使用ECoreUtil.getURI(EObject)函数获取整个URI,它还应该包含片段部分。
EObject.eResource()。getURI()返回此对象所在的资源URI,因此它不会包含Objects拥有的唯一ID。
那个片段结束散列有EObjects XMI-ID,如果需要可以使用ECoreUtil.getID(EObject)返回。但是ECoreUtil.getURI(EObject)应该没问题。