-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\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.ui.workbench;\r
-\r
-import org.simantics.Simantics;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.common.request.PossibleIndexRoot;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.db.layer0.variable.Variables;\r
-import org.simantics.project.IProject;\r
-\r
-/**\r
- * An IProject service for naming editors while working on a project.\r
- * \r
- * @author Tuukka Lehtonen\r
- */\r
-public final class EditorNaming {\r
-\r
- /**\r
- * @param graph\r
- * @param resource\r
- * @return\r
- * @throws DatabaseException\r
- */\r
- public static IEditorNamingService getNamingService(ReadGraph graph, Resource resource) throws DatabaseException {\r
- IEditorNamingService ems = graph.getPossibleAdapter(resource, IEditorNamingService.class);\r
- if (ems == null) {\r
- Resource model = graph.syncRequest(new PossibleIndexRoot(resource));\r
- if (model != null) {\r
- ems = graph.getPossibleAdapter(model, IEditorNamingService.class);\r
- }\r
- }\r
-\r
- // Last resort.\r
- if (ems == null) {\r
- IProject p = Simantics.peekProject();\r
- ems = p.getHint(IEditorNamingService.KEY_EDITOR_NAMING_SERVICE);\r
- }\r
-\r
- return ems;\r
- }\r
-\r
- /**\r
- * @param graph\r
- * @param variable\r
- * @return\r
- * @throws DatabaseException\r
- */\r
- public static IEditorNamingService getNamingService(ReadGraph graph, Variable variable) throws DatabaseException {\r
- IEditorNamingService ems = null;\r
-\r
- Resource r = variable.getPossibleRepresents(graph);\r
- if (r != null)\r
- ems = graph.getPossibleAdapter(r, IEditorNamingService.class);\r
-\r
- if (ems == null) {\r
- try {\r
- Resource model = Variables.getModel(graph, variable);\r
- ems = graph.getPossibleAdapter(model, IEditorNamingService.class);\r
- } catch (DatabaseException e) {\r
- // Ignore missing model, in this case the variable is lost anyway.\r
- }\r
- }\r
-\r
- // Last resort.\r
- if (ems == null) {\r
- IProject p = Simantics.peekProject();\r
- if (p != null) {\r
- ems = p.getHint(IEditorNamingService.KEY_EDITOR_NAMING_SERVICE);\r
- }\r
- }\r
-\r
- return ems;\r
- }\r
-\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.ui.workbench;
+
+import org.simantics.Simantics;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.common.request.PossibleIndexRoot;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.db.layer0.variable.Variables;
+import org.simantics.project.IProject;
+
+/**
+ * An IProject service for naming editors while working on a project.
+ *
+ * @author Tuukka Lehtonen
+ */
+public final class EditorNaming {
+
+ /**
+ * @param graph
+ * @param resource
+ * @return
+ * @throws DatabaseException
+ */
+ public static IEditorNamingService getNamingService(ReadGraph graph, Resource resource) throws DatabaseException {
+ IEditorNamingService ems = graph.getPossibleAdapter(resource, IEditorNamingService.class);
+ if (ems == null) {
+ Resource model = graph.syncRequest(new PossibleIndexRoot(resource));
+ if (model != null) {
+ ems = graph.getPossibleAdapter(model, IEditorNamingService.class);
+ }
+ }
+
+ // Last resort.
+ if (ems == null) {
+ IProject p = Simantics.peekProject();
+ ems = p.getHint(IEditorNamingService.KEY_EDITOR_NAMING_SERVICE);
+ }
+
+ return ems;
+ }
+
+ /**
+ * @param graph
+ * @param variable
+ * @return
+ * @throws DatabaseException
+ */
+ public static IEditorNamingService getNamingService(ReadGraph graph, Variable variable) throws DatabaseException {
+ IEditorNamingService ems = null;
+
+ Resource r = variable.getPossibleRepresents(graph);
+ if (r != null)
+ ems = graph.getPossibleAdapter(r, IEditorNamingService.class);
+
+ if (ems == null) {
+ try {
+ Resource model = Variables.getModel(graph, variable);
+ ems = graph.getPossibleAdapter(model, IEditorNamingService.class);
+ } catch (DatabaseException e) {
+ // Ignore missing model, in this case the variable is lost anyway.
+ }
+ }
+
+ // Last resort.
+ if (ems == null) {
+ IProject p = Simantics.peekProject();
+ if (p != null) {
+ ems = p.getHint(IEditorNamingService.KEY_EDITOR_NAMING_SERVICE);
+ }
+ }
+
+ return ems;
+ }
+
+}