]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/handlers/e4/SyncCurrentTypicalTemplateToInstances.java
Rid TypicalPropertyTester of database read transactions
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / handlers / e4 / SyncCurrentTypicalTemplateToInstances.java
index 9936b603b32395d8cd0cdd7cb69f32f58effe6fa..9fc604c6f879f497b0319c15559072e7c9dc473e 100644 (file)
@@ -16,6 +16,7 @@ import org.simantics.db.Resource;
 import org.simantics.db.Session;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.modeling.typicals.SyncTypicalTemplatesToInstances;
+import org.simantics.modeling.ui.diagramEditor.DiagramEditor;
 import org.simantics.modeling.ui.documents.OpenPlainTextDocumentAdapter;
 import org.simantics.modeling.ui.property.TypicalPropertyTester;
 import org.simantics.modeling.ui.typicals.RuleChooserDialog;
@@ -39,13 +40,12 @@ public class SyncCurrentTypicalTemplateToInstances {
             // TODO: This is not good practice with E4 but an OK fallback for now
             activeEditor = WorkbenchUtils.getActiveEditor();
         }
-        if (activeEditor == null)
+        if (activeEditor == null || (!(activeEditor instanceof DiagramEditor)))
             return false;
         if (DatabaseJob.inProgress())
             return false;
         if (activeEditor.getEditorInput() instanceof IResourceEditorInput) {
-            IResourceEditorInput input = (IResourceEditorInput) activeEditor.getEditorInput();
-            return TypicalPropertyTester.isTypicalMasterEditor(Simantics.getSession(), input.getResource());
+            return TypicalPropertyTester.isTypicalMasterEditor(activeEditor);
         } else {
             return false;
         }