From 4bc5daa34131b4bb5c1619af78f259534f39b13f Mon Sep 17 00:00:00 2001 From: Serge Rider Date: Sat, 16 Apr 2016 23:23:10 +0300 Subject: [PATCH] Inline editors value extraction Former-commit-id: 8d30c5025eef3482cd46ddb888320ec8e0b59e95 --- .../ui/data/editors/DateTimeInlineEditor.java | 9 +++++++-- .../ui/data/editors/StringInlineEditor.java | 16 +++++++++++----- .../dbeaver/ui/dialogs/data/TextViewDialog.java | 3 +-- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/DateTimeInlineEditor.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/DateTimeInlineEditor.java index feaeeb7b6a..41247d4a44 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/DateTimeInlineEditor.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/DateTimeInlineEditor.java @@ -23,6 +23,9 @@ import org.eclipse.swt.widgets.Control; import org.jkiss.code.Nullable; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.model.data.DBDDisplayFormat; +import org.jkiss.dbeaver.model.exec.DBCExecutionPurpose; +import org.jkiss.dbeaver.model.exec.DBCSession; +import org.jkiss.dbeaver.model.runtime.VoidProgressMonitor; import org.jkiss.dbeaver.ui.controls.CustomTimeEditor; import org.jkiss.dbeaver.ui.data.IValueController; @@ -51,8 +54,10 @@ public class DateTimeInlineEditor extends BaseValueEditor { @Override public Object extractEditorValue() throws DBException { - final String strValue = timeEditor.getValue(); - return valueController.getValueHandler().getValueFromObject(null, valueController.getValueType(), strValue, false); + try (DBCSession session = valueController.getExecutionContext().openSession(VoidProgressMonitor.INSTANCE, DBCExecutionPurpose.UTIL, "Make datetime value from editor")) { + final String strValue = timeEditor.getValue(); + return valueController.getValueHandler().getValueFromObject(session, valueController.getValueType(), strValue, false); + } } @Override diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/StringInlineEditor.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/StringInlineEditor.java index 46c3ccd37e..0e2eb485f3 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/StringInlineEditor.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/StringInlineEditor.java @@ -24,6 +24,10 @@ import org.jkiss.code.Nullable; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.model.data.DBDDisplayFormat; import org.jkiss.dbeaver.model.exec.DBCException; +import org.jkiss.dbeaver.model.exec.DBCExecutionPurpose; +import org.jkiss.dbeaver.model.exec.DBCSession; +import org.jkiss.dbeaver.model.runtime.VoidProgressMonitor; +import org.jkiss.dbeaver.ui.UIUtils; import org.jkiss.dbeaver.ui.data.IValueController; import org.jkiss.utils.CommonUtils; @@ -61,10 +65,12 @@ public class StringInlineEditor extends BaseValueEditor { @Override public Object extractEditorValue() throws DBCException { - return valueController.getValueHandler().getValueFromObject( - null, - valueController.getValueType(), - control.getText(), - false); + try (DBCSession session = valueController.getExecutionContext().openSession(VoidProgressMonitor.INSTANCE, DBCExecutionPurpose.UTIL, "Make string value from editor")) { + return valueController.getValueHandler().getValueFromObject( + session, + valueController.getValueType(), + control.getText(), + false); + } } } diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/data/TextViewDialog.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/data/TextViewDialog.java index 5fb28acab8..4d898c70af 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/data/TextViewDialog.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/data/TextViewDialog.java @@ -259,8 +259,7 @@ public class TextViewDialog extends ValueViewDialog { } } - DBCExecutionContext context = getValueController().getExecutionContext(); - try (DBCSession session = context.openSession(VoidProgressMonitor.INSTANCE, DBCExecutionPurpose.UTIL, "Make content value from editor")) { + try (DBCSession session = getValueController().getExecutionContext().openSession(VoidProgressMonitor.INSTANCE, DBCExecutionPurpose.UTIL, "Make text value from editor")) { return getValueController().getValueHandler().getValueFromObject( session, getValueController().getValueType(), -- GitLab