| How to get all the elements from a papyrus model [message #1051060] |
Sun, 28 April 2013 02:11  |
sabrina ing Messages: 39 Registered: February 2013 |
Member |
|
|
Hi,
I've created a plug-in project which defines an extension point and I have created
another plug-in project used this extension point for modeling a real time operating
systems (RTOS) using Papyrus and using the Profile in Software Resource Modeling (SRM)
of Standard MARTE.
My requirement is how to retrieve all the elements(class, attributes,default values
of attributes,...) from my model using Java code.
I used this code to get my model:
RegisteredRTOSLibrary[] rtos = RegisteredRTOSLibrary.getRegisteredLibraries();
URI modelUri = rtos[0].uri;
ResourceSet resourceSet = new ResourceSetImpl();
Resource inResources = resourceSet.getResource( modelUri, true);
But I don't know how to retrieve the elements of my model.
Can you help me please.
Thanks in advance.
[Updated on: Sun, 28 April 2013 03:34] Report message to a moderator
|
|
|
| Re: How to get all the elements from a papyrus model [message #1057970 is a reply to message #1051060] |
Fri, 10 May 2013 04:38  |
Goood Guy Messages: 98 Registered: September 2011 |
Member |
|
|
The following code will not compile, but you will get the idea:
import org.eclipse.emf.ecore.util.EcoreUtil;
Collection<Class> classes = EcoreUtil.getObjectsByType(iterator2Collection(model.eResource().getAllContents()), UMLPackage.eINSTANCE.getClass_());
for(Class c:classes){
for(Stereotype s:c.getAppliedStereotypes()){
if(s.getName().startsWith("MARTE")){
//do something
}
}
}
/**
* @see de.cau.cs.kieler.core.model.util.ModelingUtil
*/
public static <T> Collection<T> iterator2Collection(final Iterator<T> iter) {
ArrayList<T> list = new ArrayList<T>();
for (; iter.hasNext();) {
T item = iter.next();
list.add(item);
}
return list;
}
|
|
|
Powered by
FUDForum. Page generated in 0.01417 seconds