+/*******************************************************************************\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
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
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
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