]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scenegraph.profile/src/org/simantics/scenegraph/profile/request/RuntimeProfileActiveEntryResources.java
Merge branch 'feature/funcwrite'
[simantics/platform.git] / bundles / org.simantics.scenegraph.profile / src / org / simantics / scenegraph / profile / request / RuntimeProfileActiveEntryResources.java
index 762ee12bdd0cbf7c10c5db51fda81c7953a64e03..5686024b0c702176352e73d34e0475b84903a5e2 100644 (file)
@@ -13,9 +13,11 @@ package org.simantics.scenegraph.profile.request;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 
 import org.simantics.db.ReadGraph;
 import org.simantics.db.Resource;
+import org.simantics.db.common.NamedResource;
 import org.simantics.db.common.request.ResourceRead;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.diagram.stubs.DiagramResource;
@@ -35,8 +37,14 @@ public class RuntimeProfileActiveEntryResources extends ResourceRead<Collection<
 
         ArrayList<Resource> result = new ArrayList<Resource>();
         Resource activeProfile = graph.getPossibleObject(resource, DIA.RuntimeDiagram_HasRuntimeProfile);
-        if (activeProfile == null)
-            return result;
+        if (activeProfile == null) {
+               
+               List<NamedResource> available = graph.syncRequest(new AvailableProfiles(resource));
+               if(available.size() != 1) return result;
+               
+               activeProfile = available.iterator().next().getResource();
+            
+        }
 
         Resource rootEntries = graph.getPossibleObject(activeProfile, DIA.HasEntries);
         if (rootEntries == null)