]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.proconf.processeditor/src/org/simantics/processeditor/dialogs/LibraryComponentDialog.java
Set copyright texts for java files in the latest development branches.
[simantics/3d.git] / org.simantics.proconf.processeditor / src / org / simantics / processeditor / dialogs / LibraryComponentDialog.java
index daee341c5a05f6389018c8dbfcc18fdb76e5f7b1..c7df9e1294a5fdc297bef99572fefc3162b74c42 100644 (file)
@@ -1,3 +1,13 @@
+/*******************************************************************************\r
+ * Copyright (c) 2007- VTT Technical Research Centre of Finland.\r
+ * All rights reserved. This program and the accompanying materials\r
+ * are made available under the terms of the Eclipse Public License v1.0\r
+ * which accompanies this distribution, and is available at\r
+ * http://www.eclipse.org/legal/epl-v10.html\r
+ *\r
+ * Contributors:\r
+ *     VTT Technical Research Centre of Finland - initial API and implementation\r
+ *******************************************************************************/\r
 package org.simantics.processeditor.dialogs;\r
 \r
 import java.util.ArrayList;\r
@@ -24,7 +34,7 @@ import org.simantics.layer0.utils.EntityFactory;
 import org.simantics.layer0.utils.IEntity;\r
 import org.simantics.processeditor.ProcessResource;\r
 import org.simantics.proconf.ui.ProConfUI;\r
-import org.simantics.utils.ErrorLogger;\r
+import org.simantics.utils.ui.ErrorLogger;\r
 \r
 \r
 public class LibraryComponentDialog extends Dialog{ \r
@@ -105,8 +115,10 @@ public class LibraryComponentDialog extends Dialog{
                                public void run() {\r
                                        getShell().setText(title);\r
                                        if (selectedType == null) {\r
-                               typeList.select(0);\r
-                               selectedType = (Resource)typeList.getData(typeList.getItem(0));\r
+                                               if (typeList.getItemCount() > 0) {\r
+                                                       typeList.select(0);\r
+                                       selectedType = (Resource)typeList.getData(typeList.getItem(0));\r
+                                               }\r
                            }\r
                                }\r
                                \r
@@ -132,6 +144,25 @@ public class LibraryComponentDialog extends Dialog{
                Resource projectResource = ProConfUI.getProject().getResource();\r
                Stack<Resource> handling = new Stack<Resource>();\r
                handling.push(projectResource);\r
+               \r
+               // this is just a hack to get equipment defined in ontologies\r
+               Resource projectsLib = g.getObjects(projectResource, g.getBuiltins().PartOf).iterator().next();\r
+               Collection<Resource> projects = g.getObjects(projectsLib, g.getBuiltins().ConsistsOf);\r
+               Resource typeSystemProject = null;\r
+               for (Resource project : projects) {\r
+                       IEntity ent = EntityFactory.create(g,project);\r
+                       String name = ent.getName();\r
+                       if(name.equals("Type System Project")) {\r
+                               typeSystemProject = project;\r
+                               break;\r
+                       }\r
+               }\r
+               Collection<Resource> ontologies = g.getObjects(typeSystemProject, g.getBuiltins().ConsistsOf);\r
+               for (Resource ontology : ontologies) {\r
+                       if(g.isInstanceOf(ontology, g.getBuiltins().Ontology))\r
+                               handling.add(ontology);\r
+               }\r
+               \r
                while (!handling.isEmpty()) {\r
                        final Resource node = handling.pop();\r
                        if (g.isInstanceOf(node,primaryType)) {\r