diff --git a/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/DBGConstants.java b/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/DBGConstants.java index c9229cd7b69dc872294e0a1f6db58bfa9f8fd91a..faeac741995d48b05d0fa754ed4c14a77d5c6e65 100644 --- a/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/DBGConstants.java +++ b/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/DBGConstants.java @@ -21,15 +21,10 @@ import org.jkiss.dbeaver.runtime.ide.core.DBeaverIDECore; public class DBGConstants { public static final String BUNDLE_SYMBOLIC_NAME = "org.jkiss.dbeaver.debug.core"; //$NON-NLS-1$ - public static final String ATTR_NODE_PATH = BUNDLE_SYMBOLIC_NAME + ".ATTR_NODE_PATH"; //$NON-NLS-1$ - public static final String ATTR_SCRIPT_TEXT = BUNDLE_SYMBOLIC_NAME + ".ATTR_SCRIPT_TEXT"; //$NON-NLS-1$ - public static final String ATTR_SCRIPT_EXECUTE = BUNDLE_SYMBOLIC_NAME + ".ATTR_SCRIPT_EXECUTE"; //$NON-NLS-1$ - public static final String ATTR_ATTACH_KIND = BUNDLE_SYMBOLIC_NAME + ".ATTR_ATTACH_KIND"; //$NON-NLS-1$ - public static final String ATTR_ATTACH_PROCESS = BUNDLE_SYMBOLIC_NAME + ".ATTACH_PROCESS"; //$NON-NLS-1$ - public static final String ATTR_PROCEDURE_NAME = BUNDLE_SYMBOLIC_NAME + ".ATTR_PROCEDURE_NAME"; //$NON-NLS-1$ - public static final String ATTR_PROCEDURE_OID = BUNDLE_SYMBOLIC_NAME + ".ATTR_PROCEDURE_OID"; //$NON-NLS-1$ - public static final String ATTR_DATASOURCE_ID = BUNDLE_SYMBOLIC_NAME + ".ATTR_DATASOURCE_ID"; //$NON-NLS-1$ + + public static final String ATTR_DATASOURCE_ID = BUNDLE_SYMBOLIC_NAME + ".ATTR_DATASOURCE_ID"; //$NON-NLS-1$ public static final String ATTR_DEBUG_TYPE = BUNDLE_SYMBOLIC_NAME + ".ATTR_DEBUG_TYPE"; //$NON-NLS-1$ + public static final String ATTR_NODE_PATH = "PG.ATTR_NODE_PATH"; //$NON-NLS-1$ public static final String SOURCE_CONTAINER_TYPE_DATASOURCE = BUNDLE_SYMBOLIC_NAME + ".datasourceSourceContainerType"; //$NON-NLS-1$ public static final String BREAKPOINT_ATTRIBUTE_PROCEDURE_OID = BUNDLE_SYMBOLIC_NAME + ".procedureOid"; //$NON-NLS-1$ diff --git a/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/DBGController.java b/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/DBGController.java index b9cda0d74549b1e96671a7c67483059774e6cfdf..72bb725d4b9a1f5bf2973eb8350aa6740668a67c 100644 --- a/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/DBGController.java +++ b/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/DBGController.java @@ -30,9 +30,6 @@ import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; */ public interface DBGController { - String ATTACH_KIND_LOCAL = "LOCAL"; //$NON-NLS-1$ - String ATTACH_KIND_GLOBAL = "GLOBAL"; //$NON-NLS-1$ - DBPDataSourceContainer getDataSourceContainer(); Map getDebugConfiguration(); diff --git a/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/core/DebugCore.java b/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/core/DebugCore.java index 2cc848976a69cdffe5071a57e5d659787e65ddad..136b8663b523014289fdb9eab16f96db40167b9f 100644 --- a/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/core/DebugCore.java +++ b/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/core/DebugCore.java @@ -199,7 +199,7 @@ public class DebugCore { public static Map toBreakpointDescriptor(Map attributes) { HashMap result = new HashMap<>(); result.put(IMarker.LINE_NUMBER, attributes.get(IMarker.LINE_NUMBER)); - result.put(DBGConstants.ATTR_PROCEDURE_OID, attributes.get(DBGConstants.ATTR_PROCEDURE_OID)); + //result.put(PostgreDebugConstants.ATTR_PROCEDURE_OID, attributes.get(PostgreDebugConstants.ATTR_PROCEDURE_OID)); return result; } diff --git a/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/core/breakpoints/DatabaseBreakpoint.java b/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/core/breakpoints/DatabaseBreakpoint.java index 53c0348740b6779ddd2076c341d649b63ad17b8b..b4feeec609bc484bf509edfa459c524605e5cef0 100644 --- a/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/core/breakpoints/DatabaseBreakpoint.java +++ b/plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/core/breakpoints/DatabaseBreakpoint.java @@ -22,7 +22,6 @@ import static org.jkiss.dbeaver.debug.DBGConstants.BREAKPOINT_ATTRIBUTE_DATABASE import static org.jkiss.dbeaver.debug.DBGConstants.BREAKPOINT_ATTRIBUTE_DATASOURCE_ID; import static org.jkiss.dbeaver.debug.DBGConstants.BREAKPOINT_ATTRIBUTE_NODE_PATH; import static org.jkiss.dbeaver.debug.DBGConstants.BREAKPOINT_ATTRIBUTE_PROCEDURE_NAME; -import static org.jkiss.dbeaver.debug.DBGConstants.BREAKPOINT_ATTRIBUTE_PROCEDURE_OID; import static org.jkiss.dbeaver.debug.DBGConstants.BREAKPOINT_ATTRIBUTE_SCHEMA_NAME; import static org.jkiss.dbeaver.debug.DBGConstants.MODEL_IDENTIFIER_DATABASE; @@ -31,8 +30,6 @@ import java.util.Map; import org.eclipse.core.runtime.CoreException; import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.model.Breakpoint; -import org.jkiss.dbeaver.debug.DBGConstants; -import org.jkiss.dbeaver.debug.DBGController; import org.jkiss.dbeaver.debug.core.DebugCore; import org.jkiss.dbeaver.model.navigator.DBNNode; import org.jkiss.dbeaver.model.struct.DBSObject; @@ -85,10 +82,6 @@ public class DatabaseBreakpoint extends Breakpoint implements IDatabaseBreakpoin setAttribute(BREAKPOINT_ATTRIBUTE_PROCEDURE_NAME, procedureName); } - protected void setProcedureOid(String procedureOid) throws CoreException { - setAttribute(DBGConstants.ATTR_PROCEDURE_OID, procedureOid); - } - protected void setNodePath(String nodePath) throws CoreException { setAttribute(BREAKPOINT_ATTRIBUTE_NODE_PATH, nodePath); } @@ -115,7 +108,9 @@ public class DatabaseBreakpoint extends Breakpoint implements IDatabaseBreakpoin if (context.isEmpty()) { return; } - Object oid = context.get(DBGConstants.ATTR_PROCEDURE_OID); - attributes.put(DBGConstants.ATTR_PROCEDURE_OID, String.valueOf(oid)); +/* + Object oid = context.get(PostgreDebugConstants.ATTR_PROCEDURE_OID); + attributes.put(PostgreDebugConstants.ATTR_PROCEDURE_OID, String.valueOf(oid)); +*/ } } diff --git a/plugins/org.jkiss.dbeaver.debug.ui/src/org/jkiss/dbeaver/debug/ui/DatabaseDebugConfigurationTab.java b/plugins/org.jkiss.dbeaver.debug.ui/src/org/jkiss/dbeaver/debug/ui/DatabaseDebugConfigurationTab.java index 0a3dce93b956a60a54e13526e98097437d0479a5..d7df7194289572fa047e60ad244d536db4158387 100644 --- a/plugins/org.jkiss.dbeaver.debug.ui/src/org/jkiss/dbeaver/debug/ui/DatabaseDebugConfigurationTab.java +++ b/plugins/org.jkiss.dbeaver.debug.ui/src/org/jkiss/dbeaver/debug/ui/DatabaseDebugConfigurationTab.java @@ -24,7 +24,6 @@ import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; import org.eclipse.debug.ui.AbstractLaunchConfigurationTab; import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Image; @@ -62,11 +61,6 @@ public class DatabaseDebugConfigurationTab extends AbstractLaunchConfigurationTa private Text driverText; - /** - * Modify listener that simply updates the owning launch configuration - * dialog. - */ - protected ModifyListener modifyListener = evt -> scheduleUpdateJob(); private SelectDataSourceCombo connectionCombo; private Group typesGroup; private Composite panelPlaceholder; diff --git a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/PostgreDebugConstants.java b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/PostgreDebugConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..6efc4e6444cda7589b737aad60ccb1741ccb7e93 --- /dev/null +++ b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/PostgreDebugConstants.java @@ -0,0 +1,33 @@ +/* + * DBeaver - Universal Database Manager + * Copyright (C) 2010-2018 Serge Rider (serge@jkiss.org) + * Copyright (C) 2017-2018 Alexander Fedorov (alexander.fedorov@jkiss.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jkiss.dbeaver.ext.postgresql.debug; + +import org.jkiss.dbeaver.debug.DBGConstants; + +public class PostgreDebugConstants { + + public static final String ATTR_SCRIPT_TEXT = "PG.ATTR_SCRIPT_TEXT"; //$NON-NLS-1$ + public static final String ATTR_SCRIPT_EXECUTE = "PG.ATTR_SCRIPT_EXECUTE"; //$NON-NLS-1$ + public static final String ATTR_ATTACH_KIND = "PG.ATTR_ATTACH_KIND"; //$NON-NLS-1$ + public static final String ATTR_ATTACH_PROCESS = "PG.ATTACH_PROCESS"; //$NON-NLS-1$ + public static final String ATTR_PROCEDURE_NAME = "PG.ATTR_PROCEDURE_NAME"; //$NON-NLS-1$ + public static final String ATTR_PROCEDURE_OID = "PG.ATTR_PROCEDURE_OID"; //$NON-NLS-1$ + + public static final String ATTACH_KIND_LOCAL = "LOCAL"; //$NON-NLS-1$ + public static final String ATTACH_KIND_GLOBAL = "GLOBAL"; //$NON-NLS-1$ +} diff --git a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/core/PostgreSqlDebugCore.java b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/core/PostgreSqlDebugCore.java index e3be4bc1a4fbde8608381e630c55dcfab6098c63..312b84387bc4c1b254ac57e7f0096c1ecc8885d0 100644 --- a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/core/PostgreSqlDebugCore.java +++ b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/core/PostgreSqlDebugCore.java @@ -24,6 +24,7 @@ import org.eclipse.osgi.util.NLS; import org.jkiss.dbeaver.core.DBeaverCore; import org.jkiss.dbeaver.debug.DBGConstants; import org.jkiss.dbeaver.debug.core.DebugCore; +import org.jkiss.dbeaver.ext.postgresql.debug.PostgreDebugConstants; import org.jkiss.dbeaver.ext.postgresql.debug.internal.PostgreDebugCoreMessages; import org.jkiss.dbeaver.ext.postgresql.model.PostgreDataSource; import org.jkiss.dbeaver.ext.postgresql.model.PostgreDatabase; @@ -62,10 +63,10 @@ public class PostgreSqlDebugCore { ILaunchConfigurationWorkingCopy workingCopy = DebugCore.createConfiguration(container, CONFIGURATION_TYPE, name); workingCopy.setAttribute(DBGConstants.ATTR_DATASOURCE_ID, dataSourceContainer.getId()); - workingCopy.setAttribute(DBGConstants.ATTR_PROCEDURE_OID, String.valueOf(procedure.getObjectId())); - workingCopy.setAttribute(DBGConstants.ATTR_PROCEDURE_NAME, procedureName); + workingCopy.setAttribute(PostgreDebugConstants.ATTR_PROCEDURE_OID, String.valueOf(procedure.getObjectId())); + workingCopy.setAttribute(PostgreDebugConstants.ATTR_PROCEDURE_NAME, procedureName); - workingCopy.setAttribute(DBGConstants.ATTR_SCRIPT_TEXT, DebugCore.composeScriptText(procedure)); + workingCopy.setAttribute(PostgreDebugConstants.ATTR_SCRIPT_TEXT, DebugCore.composeScriptText(procedure)); final DBNModel navigatorModel = DBeaverCore.getInstance().getNavigatorModel(); DBNDatabaseNode node = navigatorModel.getNodeByObject(new VoidProgressMonitor(), procedure, false); workingCopy.setAttribute(DBGConstants.ATTR_NODE_PATH, node.getNodeItemPath()); diff --git a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/internal/PostgreResolver.java b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/internal/PostgreResolver.java index 75c749a11a3be31c5b9ca8e5382dfa4149e89565..86e56926e8a69f3f319e587d7763ff3ffe3d4770 100644 --- a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/internal/PostgreResolver.java +++ b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/internal/PostgreResolver.java @@ -18,8 +18,8 @@ package org.jkiss.dbeaver.ext.postgresql.debug.internal; import org.jkiss.dbeaver.DBException; -import org.jkiss.dbeaver.debug.DBGConstants; import org.jkiss.dbeaver.debug.DBGResolver; +import org.jkiss.dbeaver.ext.postgresql.debug.PostgreDebugConstants; import org.jkiss.dbeaver.ext.postgresql.model.PostgreDataSource; import org.jkiss.dbeaver.ext.postgresql.model.PostgreProcedure; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; @@ -63,7 +63,7 @@ public class PostgreResolver implements DBGResolver { HashMap context = new HashMap(); if (databaseObject instanceof PostgreProcedure) { PostgreProcedure procedure = (PostgreProcedure) databaseObject; - context.put(DBGConstants.ATTR_PROCEDURE_OID, procedure.getObjectId()); + context.put(PostgreDebugConstants.ATTR_PROCEDURE_OID, procedure.getObjectId()); } return context; } diff --git a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/internal/impl/PostgreDebugController.java b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/internal/impl/PostgreDebugController.java index 13118ea4ec09041df91b6805fbb66aba913e178f..c76e28d68a5ef2c3daa63b11d0d81141da37d62c 100644 --- a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/internal/impl/PostgreDebugController.java +++ b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.core/src/org/jkiss/dbeaver/ext/postgresql/debug/internal/impl/PostgreDebugController.java @@ -21,6 +21,7 @@ package org.jkiss.dbeaver.ext.postgresql.debug.internal.impl; import org.eclipse.core.resources.IMarker; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.debug.*; +import org.jkiss.dbeaver.ext.postgresql.debug.PostgreDebugConstants; import org.jkiss.dbeaver.model.DBPDataSourceContainer; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; import org.jkiss.utils.CommonUtils; @@ -40,11 +41,11 @@ public class PostgreDebugController extends DBGBaseController { try { PostgreDebugSession pgSession = new PostgreDebugSession(monitor,this); - int oid = CommonUtils.toInt(configuration.get(DBGConstants.ATTR_PROCEDURE_OID)); - int pid = CommonUtils.toInt(configuration.get(DBGConstants.ATTR_ATTACH_PROCESS)); - String kind = String.valueOf(configuration.get(DBGConstants.ATTR_ATTACH_KIND)); - boolean global = DBGController.ATTACH_KIND_GLOBAL.equals(kind); - String call = (String) configuration.get(DBGConstants.ATTR_SCRIPT_TEXT); + int oid = CommonUtils.toInt(configuration.get(PostgreDebugConstants.ATTR_PROCEDURE_OID)); + int pid = CommonUtils.toInt(configuration.get(PostgreDebugConstants.ATTR_ATTACH_PROCESS)); + String kind = String.valueOf(configuration.get(PostgreDebugConstants.ATTR_ATTACH_KIND)); + boolean global = PostgreDebugConstants.ATTACH_KIND_GLOBAL.equals(kind); + String call = (String) configuration.get(PostgreDebugConstants.ATTR_SCRIPT_TEXT); pgSession.attach(monitor, oid, pid, global, call); return pgSession; @@ -55,7 +56,7 @@ public class PostgreDebugController extends DBGBaseController { @Override public DBGBreakpointDescriptor describeBreakpoint(Map attributes) { - Object oid = attributes.get(DBGConstants.ATTR_PROCEDURE_OID); + Object oid = attributes.get(PostgreDebugConstants.ATTR_PROCEDURE_OID); Object lineNumber = attributes.get(IMarker.LINE_NUMBER); long parsed = Long.parseLong(String.valueOf(lineNumber)); return new PostgreDebugBreakpointDescriptor(oid, parsed, false); diff --git a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PgSqlGlobalLaunchShortcut.java b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PgSqlGlobalLaunchShortcut.java index 6ef6e89c2a851ddd3b0dd840a2c9be00f3b606cd..6118e16a0de67e20c26fd55c348e9b1fa89841d9 100644 --- a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PgSqlGlobalLaunchShortcut.java +++ b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PgSqlGlobalLaunchShortcut.java @@ -22,9 +22,8 @@ import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.InputDialog; -import org.jkiss.dbeaver.debug.DBGConstants; -import org.jkiss.dbeaver.debug.DBGController; import org.jkiss.dbeaver.debug.ui.DatabaseLaunchShortcut; +import org.jkiss.dbeaver.ext.postgresql.debug.PostgreDebugConstants; import org.jkiss.dbeaver.ext.postgresql.debug.core.PostgreSqlDebugCore; import org.jkiss.dbeaver.model.struct.DBSObject; @@ -39,8 +38,8 @@ public class PgSqlGlobalLaunchShortcut extends DatabaseLaunchShortcut { @Override protected ILaunchConfiguration createConfiguration(DBSObject launchable) throws CoreException { ILaunchConfigurationWorkingCopy workingCopy = PostgreSqlDebugCore.createConfiguration(launchable); - workingCopy.setAttribute(DBGConstants.ATTR_ATTACH_KIND, DBGController.ATTACH_KIND_GLOBAL); - String pid = workingCopy.getAttribute(DBGConstants.ATTR_ATTACH_PROCESS, (String)null); + workingCopy.setAttribute(PostgreDebugConstants.ATTR_ATTACH_KIND, PostgreDebugConstants.ATTACH_KIND_GLOBAL); + String pid = workingCopy.getAttribute(PostgreDebugConstants.ATTR_ATTACH_PROCESS, (String)null); String dialogTitle = "Specify PID"; String dialogMessage = "Specify PID to attach. Use '-1' to allow any PID"; InputDialog dialog = new InputDialog(getShell(), dialogTitle, dialogMessage, pid, newText -> { @@ -61,15 +60,15 @@ public class PgSqlGlobalLaunchShortcut extends DatabaseLaunchShortcut { return null; } String modified = dialog.getValue(); - workingCopy.setAttribute(DBGConstants.ATTR_ATTACH_PROCESS, modified); + workingCopy.setAttribute(PostgreDebugConstants.ATTR_ATTACH_PROCESS, modified); return workingCopy.doSave(); } @Override protected boolean isCandidate(ILaunchConfiguration config, DBSObject launchable, Map databaseContext) { try { - String kind = config.getAttribute(DBGConstants.ATTR_ATTACH_KIND, (String)null); - if (!DBGController.ATTACH_KIND_LOCAL.equals(kind)) { + String kind = config.getAttribute(PostgreDebugConstants.ATTR_ATTACH_KIND, (String)null); + if (!PostgreDebugConstants.ATTACH_KIND_LOCAL.equals(kind)) { return false; } } catch (CoreException e) { diff --git a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PgSqlLocalLaunchShortcut.java b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PgSqlLocalLaunchShortcut.java index fa491601b7f81fe88cadc2329e717d2f35cf1a88..49083660ca64da6ebc22fd0f8396df735ea4b716 100644 --- a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PgSqlLocalLaunchShortcut.java +++ b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PgSqlLocalLaunchShortcut.java @@ -22,10 +22,9 @@ import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.ui.IWorkbenchPartSite; -import org.jkiss.dbeaver.debug.DBGConstants; -import org.jkiss.dbeaver.debug.DBGController; import org.jkiss.dbeaver.debug.ui.DatabaseLaunchShortcut; import org.jkiss.dbeaver.debug.ui.DatabaseScriptDialog; +import org.jkiss.dbeaver.ext.postgresql.debug.PostgreDebugConstants; import org.jkiss.dbeaver.ext.postgresql.debug.core.PostgreSqlDebugCore; import org.jkiss.dbeaver.model.struct.DBSObject; @@ -40,9 +39,9 @@ public class PgSqlLocalLaunchShortcut extends DatabaseLaunchShortcut { @Override protected ILaunchConfiguration createConfiguration(DBSObject launchable) throws CoreException { ILaunchConfigurationWorkingCopy workingCopy = PostgreSqlDebugCore.createConfiguration(launchable); - workingCopy.setAttribute(DBGConstants.ATTR_ATTACH_KIND, DBGController.ATTACH_KIND_LOCAL); + workingCopy.setAttribute(PostgreDebugConstants.ATTR_ATTACH_KIND, PostgreDebugConstants.ATTACH_KIND_LOCAL); IWorkbenchPartSite site = getWorkbenchPartSite(); - String script = workingCopy.getAttribute(DBGConstants.ATTR_SCRIPT_TEXT, ""); + String script = workingCopy.getAttribute(PostgreDebugConstants.ATTR_SCRIPT_TEXT, ""); String inputName = "Script"; DatabaseScriptDialog dialog = new DatabaseScriptDialog(getShell(), site, inputName, script, launchable); dialog.create(); @@ -54,15 +53,15 @@ public class PgSqlLocalLaunchShortcut extends DatabaseLaunchShortcut { return null; } String modified = dialog.getScriptTextValue(); - workingCopy.setAttribute(DBGConstants.ATTR_SCRIPT_TEXT, modified); + workingCopy.setAttribute(PostgreDebugConstants.ATTR_SCRIPT_TEXT, modified); return workingCopy.doSave(); } @Override protected boolean isCandidate(ILaunchConfiguration config, DBSObject launchable, Map databaseContext) { try { - String kind = config.getAttribute(DBGConstants.ATTR_ATTACH_KIND, (String)null); - if (!DBGController.ATTACH_KIND_LOCAL.equals(kind)) { + String kind = config.getAttribute(PostgreDebugConstants.ATTR_ATTACH_KIND, (String)null); + if (!PostgreDebugConstants.ATTACH_KIND_LOCAL.equals(kind)) { return false; } } catch (CoreException e) { diff --git a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PostgreDebugPanelFunction.java b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PostgreDebugPanelFunction.java index fe830bd174dae6b3784ce31eca0369e47f8b5cd3..8d9e9a0a5a39c755a94c049f345550e78f934afa 100644 --- a/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PostgreDebugPanelFunction.java +++ b/plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PostgreDebugPanelFunction.java @@ -19,26 +19,47 @@ package org.jkiss.dbeaver.ext.postgresql.debug.ui.internal; import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; import org.jkiss.dbeaver.debug.ui.DBGConfigurationPanel; +import org.jkiss.dbeaver.ext.postgresql.debug.PostgreDebugConstants; import org.jkiss.dbeaver.model.DBPDataSourceContainer; +import org.jkiss.dbeaver.ui.UIUtils; import java.util.Map; public class PostgreDebugPanelFunction implements DBGConfigurationPanel { + private Button kindLocal; + private Button kindGlobal; + @Override public void createPanel(Composite parent) { - Button kindLocal = new Button(parent, SWT.RADIO); - kindLocal.setText("Local"); - Button kindGlobal = new Button(parent, SWT.RADIO); - kindGlobal.setText("Global"); + { + UIUtils.createControlGroup(parent, "Attach type", 2, GridData.FILL_HORIZONTAL, SWT.DEFAULT); + kindLocal = new Button(parent, SWT.RADIO); + kindLocal.setText("Local"); + kindGlobal = new Button(parent, SWT.RADIO); + kindGlobal.setText("Global"); + } + { + Group functionGroup = UIUtils.createControlGroup(parent, "Function", 2, GridData.VERTICAL_ALIGN_BEGINNING, SWT.DEFAULT); + UIUtils.createLabelText(functionGroup, "Function", "", SWT.BORDER | SWT.READ_ONLY, new GridData(GridData.FILL_HORIZONTAL)); + + UIUtils.createLabelText(functionGroup, "Process ID", "", SWT.BORDER | SWT.READ_ONLY, new GridData(GridData.FILL_HORIZONTAL)); + } } @Override public void loadConfiguration(DBPDataSourceContainer dataSource, Map configuration) { - + Object kind = configuration.get(PostgreDebugConstants.ATTR_ATTACH_KIND); + if (PostgreDebugConstants.ATTACH_KIND_GLOBAL.equals(kind)) { + kindGlobal.setSelection(true); + } else { + kindLocal.setSelection(true); + } } @Override