--- /dev/null
+package org.simantics.modeling.ui.scl.imports;\r
+\r
+import java.util.ArrayList;\r
+\r
+import org.eclipse.jface.dialogs.Dialog;\r
+import org.eclipse.swt.widgets.Shell;\r
+import org.simantics.scl.compiler.commands.CommandSessionImportEntry;\r
+import org.simantics.scl.ui.imports.ImportModulesAction;\r
+\r
+public class OntologyImportModulesAction extends ImportModulesAction {\r
+ \r
+ public static final OntologyImportModulesAction INSTANCE = new OntologyImportModulesAction();\r
+ \r
+ public OntologyImportModulesAction() {\r
+ super("Add ontology", 10.0);\r
+ }\r
+\r
+ @Override\r
+ public boolean editImports(Shell shell, ArrayList<CommandSessionImportEntry> imports) {\r
+ ModuleSelectionDialog dialog = new ModuleSelectionDialog(shell, OntologiesQuery.INSTANCE);\r
+ if(dialog.open() == Dialog.OK) {\r
+ for(Object r : dialog.getResult()) {\r
+ String uri = (String)r;\r
+ new CommandSessionImportEntry(uri, getDefaultLocalName(uri), true).addTo(imports);\r
+ }\r
+ return true;\r
+ }\r
+ else\r
+ return false;\r
+ }\r
+ \r
+ public String getDefaultLocalName(String ontologyUri) {\r
+ if(ontologyUri.contains("/Layer0-"))\r
+ return "L0";\r
+ if(ontologyUri.contains("/Structural-"))\r
+ return "STR";\r
+ if(ontologyUri.contains("/Modeling-"))\r
+ return "MOD";\r
+ return "";\r
+ }\r
+\r
+}\r