Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Papyrus » How to get all the elements from a papyrus model (How to get all the elements from a papyrus model using MARTE stereotypes)
How to get all the elements from a papyrus model [message #1051060] Sun, 28 April 2013 02:11 Go to next message
sabrina ing is currently offline 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 Go to previous message
Goood Guy is currently offline 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;
    } 
Previous Topic:Horizontal Instead of Vertically Oriented Regions for States in State Machine Diagrams
Next Topic:CDO repository hosting service
Goto Forum:
  


Current Time: Tue May 28 16:49:11 EDT 2013

Powered by FUDForum. Page generated in 0.01417 seconds