私は、UMLステートマシン、遷移および状態を含む.umlファイルを持っています。私はこの.umlファイル内のオブジェクトにマーカーを置くことができましたが、.airdファイルにあるグラフィック表現にマーカーを置くことはできません。私はのグラフィカル表現のマーカーに移動しようとするとUMLグラフィック要素のマーカー
for(DView dview : SessionManager.INSTANCE.getSession(eObj).getOwnedViews()){
if(dview.getViewpoint().getName().equals("Design")){
for(DRepresentation drep : dview.getOwnedRepresentations()){
for(DRepresentationElement drepElem : drep.getOwnedRepresentationElements()){
if(drepElem.getTarget() == st.getSrcTransition().getTransition()){
MarkerUtil.addMarker(drepElem, message, location, severity);
}
}
}
}
}
:
public static void addMarker(EObject eObj, String message, String location, int severity) throws CoreException{
Resource resource = eObj.eResource();
String uri = EcoreUtil.getURI(eObj).toString();
String platformString = resource.getURI().toPlatformString(true);
IResource iresource = ResourcesPlugin.getWorkspace().getRoot().findMember(platformString);
IMarker imarker = iresource.createMarker(EValidator.MARKER);
imarker.setAttribute(IMarker.SEVERITY, severity);
imarker.setAttribute(IMarker.LOCATION, location);
imarker.setAttribute(EValidator.URI_ATTRIBUTE, uri);
imarker.setAttribute(IMarker.MESSAGE, message);
}
これは私がグラフィカルな表現を見つけるために使用コードです: これは私がマーカーを置くために使用するコードですトランジション、ステートマシンを強調表示します。
プラットフォーム:/resource/TestSuite/default.uml#_igwUwDFJEealS5qn_7gKFw プラットフォーム:/resource/TestSuite/representations.aird#_igwUwTFJEealS5qn_7gKFw