提交 ef1861c6 编写于 作者: S serge-rider

Nested SQL editor refactoring

上级 79fbab32
......@@ -39,6 +39,7 @@ import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.part.MultiPageEditorSite;
import org.eclipse.ui.texteditor.IDocumentProvider;
......@@ -49,6 +50,7 @@ import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import org.jkiss.dbeaver.model.exec.compile.DBCCompileLog;
import org.jkiss.dbeaver.model.exec.compile.DBCSourceHost;
import org.jkiss.dbeaver.model.navigator.DBNDatabaseNode;
import org.jkiss.dbeaver.model.preferences.DBPPropertySource;
import org.jkiss.dbeaver.model.runtime.AbstractJob;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.sql.SQLUtils;
......@@ -84,28 +86,31 @@ public abstract class SQLEditorNested<T extends DBSObject>
//setHasVerticalRuler(false);
}
@Override
public IDatabaseEditorInput getEditorInput() {
public IDatabaseEditorInput getDatabaseEditorInput() {
return (IDatabaseEditorInput)super.getEditorInput();
}
@Override
public T getSourceObject()
{
IDatabaseEditorInput editorInput = getEditorInput();
if (editorInput == null) {
IEditorInput editorInput = getEditorInput();
if (!(editorInput instanceof IDatabaseEditorInput)) {
return null;
}
return (T) editorInput.getDatabaseObject();
return (T) ((IDatabaseEditorInput)editorInput).getDatabaseObject();
}
@Override
public DBCExecutionContext getExecutionContext() {
IDatabaseEditorInput editorInput = getEditorInput();
if (editorInput == null) {
IEditorInput editorInput = getEditorInput();
if (!(editorInput instanceof IDatabaseEditorInput)) {
return null;
}
return editorInput.getExecutionContext();
return ((IDatabaseEditorInput)editorInput).getExecutionContext();
}
public DBPPropertySource getInputPropertySource() {
return getDatabaseEditorInput().getPropertySource();
}
@Override
......@@ -273,8 +278,7 @@ public abstract class SQLEditorNested<T extends DBSObject>
@Override
protected IAnnotationModel createAnnotationModel(Object element) throws CoreException {
IDatabaseEditorInput editorInput = SQLEditorNested.this.getEditorInput();
DBSObject databaseObject = editorInput.getDatabaseObject();
DBSObject databaseObject = getSourceObject();
DBNDatabaseNode node = DBeaverCore.getInstance().getNavigatorModel().getNodeByObject(databaseObject);
IResource resource = DBeaverIDECore.resolveWorkspaceResource(databaseObject);
if (resource != null) {
......
......@@ -18,6 +18,7 @@
package org.jkiss.dbeaver.ui.editors.sql;
import org.eclipse.jface.action.*;
import org.eclipse.ui.IEditorInput;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPScriptObject;
......@@ -59,14 +60,16 @@ public class SQLSourceViewer<T extends DBPScriptObject & DBSObject> extends SQLE
}
protected Map<String, Object> getSourceOptions() {
IDatabaseEditorInput editorInput = getEditorInput();
Collection<String> attributeNames = editorInput.getAttributeNames();
IEditorInput editorInput = getEditorInput();
Map<String, Object> options = new HashMap<>();
options.put(DBPScriptObject.OPTION_DDL_SOURCE, true);
if (!attributeNames.isEmpty()) {
for (String name : attributeNames) {
Object attribute = editorInput.getAttribute(name);
options.put(name, attribute);
if (editorInput instanceof IDatabaseEditorInput) {
Collection<String> attributeNames = ((IDatabaseEditorInput)editorInput).getAttributeNames();
options.put(DBPScriptObject.OPTION_DDL_SOURCE, true);
if (!attributeNames.isEmpty()) {
for (String name : attributeNames) {
Object attribute = ((IDatabaseEditorInput)editorInput).getAttribute(name);
options.put(name, attribute);
}
}
}
return options;
......
......@@ -68,7 +68,7 @@ public class DB2RoutineDDLEditor extends SQLSourceViewer<DB2Routine> {
{
for (DB2DDLFormat format : DB2DDLFormat.values()) {
if (format.ordinal() == ddlFormatCombo.getSelectionIndex()) {
getEditorInput().getDatabaseObject().getDataSource().getContainer().getPreferenceStore()
getSourceObject().getDataSource().getContainer().getPreferenceStore()
.setValue(DB2Constants.PREF_KEY_DDL_FORMAT, format.name());
refreshPart(this, true);
break;
......
......@@ -34,7 +34,7 @@ public class ExasolSourceViewEditor extends SQLSourceViewer<ExasolSourceObject>
@Override
protected void setSourceText(DBRProgressMonitor monitor, String sourceText)
{
getEditorInput().getPropertySource().setPropertyValue(monitor, "objectDefinitionText", sourceText);
getInputPropertySource().setPropertyValue(monitor, "objectDefinitionText", sourceText);
}
}
......@@ -45,7 +45,7 @@ public class MySQLPackageBodyEditor extends SQLSourceViewer<MySQLSourceObject> {
@Override
protected void setSourceText(DBRProgressMonitor monitor, String sourceText) {
getEditorInput().getPropertySource().setPropertyValue(
getInputPropertySource().setPropertyValue(
monitor,
"extendedDefinitionText",
sourceText);
......
......@@ -39,7 +39,7 @@ public class MySQLSourceViewEditor extends SQLSourceViewer<MySQLSourceObject> {
@Override
protected void setSourceText(DBRProgressMonitor monitor, String sourceText)
{
getEditorInput().getPropertySource().setPropertyValue(monitor, "objectDefinitionText", sourceText);
getInputPropertySource().setPropertyValue(monitor, "objectDefinitionText", sourceText);
}
}
\ No newline at end of file
......@@ -63,7 +63,7 @@ public class OracleObjectDDLEditor extends SQLSourceViewer<OracleTable> {
public void widgetSelected(SelectionEvent e) {
for (OracleDDLFormat format : OracleDDLFormat.values()) {
if (format.ordinal() == ddlFormatCombo.getSelectionIndex()) {
getEditorInput().getDatabaseObject().getDataSource().getContainer().getPreferenceStore().setValue(
getSourceObject().getDataSource().getContainer().getPreferenceStore().setValue(
OracleConstants.PREF_KEY_DDL_FORMAT, format.name());
refreshPart(this, true);
break;
......
......@@ -34,7 +34,7 @@ public class OracleSourceDeclarationEditor extends SQLSourceViewer<OracleSourceO
@Override
protected void setSourceText(DBRProgressMonitor monitor, String sourceText) {
getEditorInput().getPropertySource().setPropertyValue(
getInputPropertySource().setPropertyValue(
monitor,
OracleConstants.PROP_OBJECT_DEFINITION,
sourceText);
......
......@@ -42,7 +42,7 @@ public class OracleSourceDefinitionEditor extends SQLSourceViewer<OracleSourceOb
@Override
protected void setSourceText(DBRProgressMonitor monitor, String sourceText) {
getEditorInput().getPropertySource().setPropertyValue(
getInputPropertySource().setPropertyValue(
monitor,
OracleConstants.PROP_OBJECT_BODY_DEFINITION,
sourceText);
......
......@@ -44,7 +44,7 @@ public class SchedulerJobActionEditor extends SQLSourceViewer<OracleSchedulerJob
@Override
protected void setSourceText(DBRProgressMonitor monitor, String sourceText) {
getEditorInput().getPropertySource().setPropertyValue(
getInputPropertySource().setPropertyValue(
monitor,
OracleConstants.PROP_OBJECT_BODY_DEFINITION,
sourceText);
......
......@@ -18,14 +18,8 @@
package org.jkiss.dbeaver.ext.postgresql.ui.editors;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ControlContribution;
import org.eclipse.jface.action.IContributionManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.jkiss.dbeaver.ext.postgresql.PostgreConstants;
import org.jkiss.dbeaver.ext.postgresql.model.*;
import org.jkiss.dbeaver.model.DBIcon;
......@@ -33,7 +27,6 @@ import org.jkiss.dbeaver.model.DBPScriptObject;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.ui.ActionUtils;
import org.jkiss.dbeaver.ui.DBeaverIcons;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.editors.sql.SQLSourceViewer;
import org.jkiss.utils.CommonUtils;
......@@ -74,7 +67,7 @@ public class PostgreSourceViewEditor extends SQLSourceViewer<PostgreScriptObject
@Override
protected void setSourceText(DBRProgressMonitor monitor, String sourceText)
{
getEditorInput().getPropertySource().setPropertyValue(monitor, "objectDefinitionText", sourceText);
getInputPropertySource().setPropertyValue(monitor, "objectDefinitionText", sourceText);
}
@Override
......@@ -93,7 +86,7 @@ public class PostgreSourceViewEditor extends SQLSourceViewer<PostgreScriptObject
}
@Override
public void run() {
getEditorInput().setAttribute(DBPScriptObject.OPTION_DEBUGGER_SOURCE, !isChecked());
getDatabaseEditorInput().setAttribute(DBPScriptObject.OPTION_DEBUGGER_SOURCE, !isChecked());
refreshPart(PostgreSourceViewEditor.this, true);
}
}, true));
......@@ -142,7 +135,7 @@ public class PostgreSourceViewEditor extends SQLSourceViewer<PostgreScriptObject
private boolean isInDebugMode() {
return CommonUtils.getBoolean(
getEditorInput().getAttribute(DBPScriptObject.OPTION_DEBUGGER_SOURCE), false);
getDatabaseEditorInput().getAttribute(DBPScriptObject.OPTION_DEBUGGER_SOURCE), false);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册