提交 3e5e1adc 编写于 作者: S Serge Rider

PG source viewer lister refactoring

上级 3d986bf2
...@@ -46,7 +46,7 @@ import org.osgi.service.event.EventHandler; ...@@ -46,7 +46,7 @@ import org.osgi.service.event.EventHandler;
/** /**
* PostgreSourceViewEditor * PostgreSourceViewEditor
*/ */
public class PostgreSourceViewEditor extends SQLSourceViewer<PostgreScriptObject> implements EventHandler { public class PostgreSourceViewEditor extends SQLSourceViewer<PostgreScriptObject> {
private static final String TOPIC_DEBUGGER_SOURCE = GeneralUtils.encodeTopic(DBPScriptObject.OPTION_DEBUGGER_SOURCE); private static final String TOPIC_DEBUGGER_SOURCE = GeneralUtils.encodeTopic(DBPScriptObject.OPTION_DEBUGGER_SOURCE);
private Button omitHeaderCheck; private Button omitHeaderCheck;
...@@ -54,34 +54,40 @@ public class PostgreSourceViewEditor extends SQLSourceViewer<PostgreScriptObject ...@@ -54,34 +54,40 @@ public class PostgreSourceViewEditor extends SQLSourceViewer<PostgreScriptObject
private boolean showColumnComments = true; private boolean showColumnComments = true;
private IEventBroker eventBroker; private IEventBroker eventBroker;
private TopicEventHandler topicEventHandler = new TopicEventHandler();
public PostgreSourceViewEditor() public PostgreSourceViewEditor()
{ {
} }
@Override private class TopicEventHandler implements EventHandler {
public void handleEvent(Event event) {
String topic = event.getTopic(); @Override
if (TOPIC_DEBUGGER_SOURCE.equals(topic)) { public void handleEvent(Event event) {
Object data = event.getProperty(IEventBroker.DATA); String topic = event.getTopic();
if (data instanceof String) { if (TOPIC_DEBUGGER_SOURCE.equals(topic)) {
String nodePath = (String) data; Object data = event.getProperty(IEventBroker.DATA);
IDatabaseEditorInput editorInput = getEditorInput(); if (data instanceof String) {
if (nodePath.equals(editorInput.getNavigatorNode().getNodeItemPath())) { String nodePath = (String) data;
Object omitValue = editorInput.getAttribute(DBPScriptObject.OPTION_DEBUGGER_SOURCE); IDatabaseEditorInput editorInput = getEditorInput();
boolean omitHeader = Boolean.parseBoolean(String.valueOf(omitValue)); if (nodePath.equals(editorInput.getNavigatorNode().getNodeItemPath())) {
if (!omitHeader) { Object omitValue = editorInput.getAttribute(DBPScriptObject.OPTION_DEBUGGER_SOURCE);
setOmitHeader(true); boolean omitHeader = Boolean.parseBoolean(String.valueOf(omitValue));
if (!omitHeader) {
setOmitHeader(true);
}
} }
} }
} }
} }
} }
@Override @Override
public void dispose() { public void dispose() {
if (eventBroker != null) { if (eventBroker != null) {
eventBroker.unsubscribe(this); eventBroker.unsubscribe(topicEventHandler);
eventBroker = null;
} }
super.dispose(); super.dispose();
} }
...@@ -104,7 +110,7 @@ public class PostgreSourceViewEditor extends SQLSourceViewer<PostgreScriptObject ...@@ -104,7 +110,7 @@ public class PostgreSourceViewEditor extends SQLSourceViewer<PostgreScriptObject
super.contributeEditorCommands(contributionManager); super.contributeEditorCommands(contributionManager);
if (eventBroker == null) { if (eventBroker == null) {
eventBroker = PostgreActivator.getDefault().getEventBroker(); eventBroker = PostgreActivator.getDefault().getEventBroker();
eventBroker.subscribe(TOPIC_DEBUGGER_SOURCE, this); eventBroker.subscribe(TOPIC_DEBUGGER_SOURCE, topicEventHandler);
} }
PostgreScriptObject sourceObject = getSourceObject(); PostgreScriptObject sourceObject = getSourceObject();
if (sourceObject instanceof PostgreProcedure) { if (sourceObject instanceof PostgreProcedure) {
...@@ -160,7 +166,7 @@ public class PostgreSourceViewEditor extends SQLSourceViewer<PostgreScriptObject ...@@ -160,7 +166,7 @@ public class PostgreSourceViewEditor extends SQLSourceViewer<PostgreScriptObject
} }
} }
public void setOmitHeader(boolean omitHeader) { private void setOmitHeader(boolean omitHeader) {
Display.getDefault().syncExec(new Runnable() { Display.getDefault().syncExec(new Runnable() {
@Override @Override
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册