[ui] fixed outline view for imports + changed to full recursive

Change-Id: I8c3b1b6e1ddb1ac959ed10e087795e65d6812389
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/RoomOutlineTreeProvider.java b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/RoomOutlineTreeProvider.java
index 02b0742..171014d 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/RoomOutlineTreeProvider.java
+++ b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/RoomOutlineTreeProvider.java
@@ -15,9 +15,9 @@
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
 import org.eclipse.etrice.core.common.base.Import;
+import org.eclipse.etrice.core.fsm.fSM.State;
+import org.eclipse.etrice.core.fsm.fSM.StateGraph;
 import org.eclipse.etrice.core.room.ActorClass;
 import org.eclipse.etrice.core.room.ActorInstanceMapping;
 import org.eclipse.etrice.core.room.ActorRef;
@@ -30,12 +30,9 @@
 import org.eclipse.etrice.core.room.Port;
 import org.eclipse.etrice.core.room.PortOperation;
 import org.eclipse.etrice.core.room.ProtocolClass;
-import org.eclipse.etrice.core.room.RoomModel;
 import org.eclipse.etrice.core.room.SAP;
 import org.eclipse.etrice.core.room.SPP;
 import org.eclipse.etrice.core.room.ServiceImplementation;
-import org.eclipse.etrice.core.fsm.fSM.State;
-import org.eclipse.etrice.core.fsm.fSM.StateGraph;
 import org.eclipse.etrice.core.room.SubSystemClass;
 import org.eclipse.etrice.core.ui.internal.RoomActivator;
 import org.eclipse.jface.viewers.ILabelProvider;
@@ -259,37 +256,14 @@
 	}
 	
 	protected void _createChildren(IOutlineNode parentNode, Import im) {
-		String uriString = importUriResolver.resolve(im);
+		String resolvedURI = importUriResolver.resolve(im);
+		if(resolvedURI == null) return;
 		
-		if (uriString==null)
-			return;
+		Resource res = im.eResource().getResourceSet().getResource(URI.createURI(resolvedURI), false);
+		if(res == null) return;
 		
-		URI uri = URI.createURI(uriString);
-		ResourceSet rs = new ResourceSetImpl();
-		RoomModel refModel = null;
-		
-		try {
-			Resource res = rs.getResource(uri, true);
-			if(res != null && !res.getContents().isEmpty() && res.getContents().get(0) instanceof RoomModel)
-				refModel = (RoomModel)res.getContents().get(0);
-		}catch (RuntimeException re) {
-		}
-		
-		if(refModel != null){
-			for(EObject firstLevelElement : refModel.getActorClasses())
-				_createNode(parentNode, firstLevelElement);
-			for(EObject firstLevelElement : refModel.getDataClasses())
-				_createNode(parentNode, firstLevelElement);
-			for(EObject firstLevelElement : refModel.getExternalTypes())
-				_createNode(parentNode, firstLevelElement);
-			for(EObject firstLevelElement : refModel.getPrimitiveTypes())
-				_createNode(parentNode, firstLevelElement);
-			for(EObject firstLevelElement : refModel.getProtocolClasses())
-				_createNode(parentNode, firstLevelElement);
-			for(EObject firstLevelElement : refModel.getSubSystemClasses())
-				_createNode(parentNode, firstLevelElement);
-			for(EObject firstLevelElement : refModel.getSystems())
-				_createNode(parentNode, firstLevelElement);
+		for(EObject content : res.getContents()) {
+			createChildren(parentNode, content);
 		}
 	}