From 19ad2078d723c5633e435d93ca1f6f6d4c8ad3aa Mon Sep 17 00:00:00 2001 From: Serge Rider Date: Tue, 14 May 2019 17:40:01 +0300 Subject: [PATCH] SQLPlan adapter Former-commit-id: 21cafb2d3976a910f864f51472f89f793fb842bb --- .../src/org/jkiss/dbeaver/ui/editors/sql/SQLEditor.java | 2 +- .../jkiss/dbeaver/ui/editors/sql/SQLEditorPropertyTester.java | 3 ++- .../jkiss/dbeaver/ui/editors/sql/plan/ExplainPlanViewer.java | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditor.java b/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditor.java index 39a794c4f6..37d1ed3b8e 100644 --- a/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditor.java +++ b/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditor.java @@ -1528,7 +1528,7 @@ public class SQLEditor extends SQLEditorBase implements private void explainQueryPlan(SQLQuery sqlQuery) { // 1. Determine whether planner supports plan extraction - DBCQueryPlanner planner = DBUtils.getAdapter(DBCQueryPlanner.class, getDataSource()); + DBCQueryPlanner planner = GeneralUtils.adapt(getDataSource(), DBCQueryPlanner.class); if (planner == null) { DBWorkbench.getPlatformUI().showError("Execution plan", "Execution plan explain isn't supported by current datasource"); return; diff --git a/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditorPropertyTester.java b/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditorPropertyTester.java index 449956f769..49fb61735d 100644 --- a/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditorPropertyTester.java +++ b/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditorPropertyTester.java @@ -27,6 +27,7 @@ import org.jkiss.dbeaver.model.DBUtils; import org.jkiss.dbeaver.model.exec.plan.DBCQueryPlanner; import org.jkiss.dbeaver.ui.ActionUtils; import org.jkiss.dbeaver.ui.editors.text.parser.SQLIdentifierDetector; +import org.jkiss.dbeaver.utils.GeneralUtils; /** * SQLEditorPropertyTester @@ -62,7 +63,7 @@ public class SQLEditorPropertyTester extends PropertyTester // Do not check hasActiveQuery - sometimes jface don't update action enablement after cursor change/typing return true;/* && (!"statement".equals(expectedValue) || editor.hasActiveQuery())*/ case PROP_CAN_EXPLAIN: - return hasConnection && DBUtils.getAdapter(DBCQueryPlanner.class, editor.getDataSource()) != null; + return hasConnection && GeneralUtils.adapt(editor.getDataSource(), DBCQueryPlanner.class) != null; case PROP_CAN_NAVIGATE: { // Check whether some word is under cursor ISelectionProvider selectionProvider = editor.getSelectionProvider(); diff --git a/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/plan/ExplainPlanViewer.java b/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/plan/ExplainPlanViewer.java index da5cc23be2..d83a964470 100644 --- a/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/plan/ExplainPlanViewer.java +++ b/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/plan/ExplainPlanViewer.java @@ -57,6 +57,7 @@ import org.jkiss.dbeaver.ui.editors.sql.internal.SQLEditorActivator; import org.jkiss.dbeaver.ui.editors.sql.internal.SQLEditorMessages; import org.jkiss.dbeaver.ui.editors.sql.plan.registry.SQLPlanViewDescriptor; import org.jkiss.dbeaver.ui.editors.sql.plan.registry.SQLPlanViewRegistry; +import org.jkiss.dbeaver.utils.GeneralUtils; import org.jkiss.utils.CommonUtils; import java.lang.reflect.InvocationTargetException; @@ -228,7 +229,7 @@ public class ExplainPlanViewer extends Viewer implements IAdaptable DBCExecutionContext executionContext = contextProvider.getExecutionContext(); if (executionContext != null) { DBPDataSource dataSource = executionContext.getDataSource(); - planner = DBUtils.getAdapter(DBCQueryPlanner.class, dataSource); + planner = GeneralUtils.adapt(dataSource, DBCQueryPlanner.class); } else { planner = null; } -- GitLab