text:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>

<!--
 * DBeaver - Universal Database Manager
 * Copyright (C) 2010-2022 DBeaver Corp and others
 *
 * 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.
  -->

<plugin>
    <!-- UI extensions -->
    <extension-point id="org.jkiss.dbeaver.workbenchHandler" name="%extension-point.org.jkiss.dbeaver.workbenchHandler.name" schema="schema/org.jkiss.dbeaver.workbenchHandler.exsd"/>

    <extension point="org.eclipse.core.contenttype.contentTypes">
        <content-type
            file-extensions="bm"
            id="org.jkiss.dbeaver.bookmark"
            name="%content-type.org.jkiss.dbeaver.bookmark.name"
            priority="normal"
            describer="org.jkiss.dbeaver.ui.resources.bookmarks.BookmarkContentTypeDescriber"/>

        <content-type file-extensions="lnk" id="org.jkiss.dbeaver.shortcut" name="Windows Shortcut" priority="normal">
            <describer class="org.eclipse.core.runtime.content.BinarySignatureDescriber">
                <!-- http://msdn.microsoft.com/en-us/library/dd871305%28PROT.10%29.aspx -->
                <parameter name="signature" value="4C,00,00,00,01,14,02,00,00,00,00,00,C0,00,00,00,00,00,00,46"/>
                <parameter name="offset" value="0"/>
            </describer>
        </content-type>
    </extension>

    <extension point="org.eclipse.core.expressions.propertyTesters">
        <propertyTester
            class="org.jkiss.dbeaver.ui.actions.DataSourcePropertyTester"
            id="org.jkiss.dbeaver.ui.actions.DataSourcePropertyTester"
            namespace="org.jkiss.dbeaver.core.datasource"
            properties="connected,transactional,synchronizable,transactionActive,supportsTransactions,editable,projectResourceEditable,projectResourceViewable"
            type="org.jkiss.dbeaver.model.DBPContextProvider"/>
        <propertyTester
            class="org.jkiss.dbeaver.ui.actions.DataSourceContainerPropertyTester"
            id="org.jkiss.dbeaver.ui.actions.DataSourceContainerPropertyTester"
            namespace="org.jkiss.dbeaver.core.datasourceContainer"
            properties="driverId,driverClass,connected"
            type="org.jkiss.dbeaver.model.DBPDataSourceContainer"/>
        <propertyTester
            class="org.jkiss.dbeaver.ui.actions.FolderPropertyTester"
            id="org.jkiss.dbeaver.ui.actions.FolderPropertyTester"
            namespace="org.jkiss.dbeaver.core.folder"
            properties="connected"
            type="org.jkiss.dbeaver.model.navigator.DBNLocalFolder"/>
        <propertyTester
            class="org.jkiss.dbeaver.ui.views.process.ProcessPropertyTester"
            id="org.jkiss.dbeaver.ui.views.process.ProcessPropertyTester"
            namespace="org.jkiss.dbeaver.runtime.process"
            properties="running"
            type="org.eclipse.ui.IWorkbenchPart"/>
    </extension>

    <extension point="org.eclipse.ui.views">
        <view
                id="org.jkiss.dbeaver.core.queryManager"
                category="org.jkiss.dbeaver.core.category"
                class="org.jkiss.dbeaver.ui.views.qm.QueryManagerView"
                allowMultiple="false"
                icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/misc/qm.png"
                name="%view.query.manager.title">
            <description>%view.query.manager.description</description>
        </view>
        <view
                id="org.jkiss.dbeaver.core.shellProcess"
                category="org.jkiss.dbeaver.core.category"
                class="org.jkiss.dbeaver.ui.views.process.ShellProcessView"
                allowMultiple="true"
                restorable="false"
                icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/misc/shell.png"
                name="%view.shell.process.title">
            <description>%view.shell.process.description</description>
        </view>
<!--
        <view
                id="org.jkiss.dbeaver.core.databaseOutput"
                category="org.jkiss.dbeaver.core.category"
                class="org.jkiss.dbeaver.ui.views.DatabaseOutputView"
                allowMultiple="false"
                icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/page_output.png"
                name="%view.database.output.title"/>
-->
    </extension>

    <extension point="org.eclipse.ui.commands">
        <category id="org.jkiss.dbeaver.core.util" name="%category.utility.name" description="%category.utility.description"/>
        <command id="org.jkiss.dbeaver.core.eula.showPopup" name="%command.org.jkiss.dbeaver.ui.eula.showPopup.name" description="%command.org.jkiss.dbeaver.ui.eula.showPopup.description" categoryId="org.jkiss.dbeaver.core.navigator"/>

        <command id="org.jkiss.dbeaver.core.new.connection" name="%command.org.jkiss.dbeaver.core.new.connection.name" description="%command.org.jkiss.dbeaver.core.new.connection.description" categoryId="org.jkiss.dbeaver.core.navigator"/>
        <command id="org.jkiss.dbeaver.core.new.connection.from.url" name="%command.org.jkiss.dbeaver.core.new.connection.from.url.name" description="%command.org.jkiss.dbeaver.core.new.connection.from.url.description" categoryId="org.jkiss.dbeaver.core.navigator"/>
        <command id="org.jkiss.dbeaver.core.migrate.connection" name="%command.org.jkiss.dbeaver.core.migrate.connection.name" description="%command.org.jkiss.dbeaver.core.migrate.connection.description" categoryId="org.jkiss.dbeaver.core.navigator"/>
        <command id="org.jkiss.dbeaver.core.navigator.bookmark.add" name="%command.org.jkiss.dbeaver.core.navigator.bookmark.add.name" description="%command.org.jkiss.dbeaver.core.navigator.bookmark.add.description" categoryId="org.jkiss.dbeaver.core.navigator"/>
        <command id="org.jkiss.dbeaver.core.navigator.bookmark.navigate" name="%command.org.jkiss.dbeaver.core.navigator.bookmark.navigate.name" description="%command.org.jkiss.dbeaver.core.navigator.bookmark.navigate.description" categoryId="org.jkiss.dbeaver.core.navigator"/>

        <command id="org.jkiss.dbeaver.core.connect" name="%command.org.jkiss.dbeaver.core.connect.name" description="%command.org.jkiss.dbeaver.core.connect.description" categoryId="org.jkiss.dbeaver.core.database"/>
        <command id="org.jkiss.dbeaver.core.disconnect" name="%command.org.jkiss.dbeaver.core.disconnect.name" description="%command.org.jkiss.dbeaver.core.disconnect.description" categoryId="org.jkiss.dbeaver.core.database"/>
        <command id="org.jkiss.dbeaver.folder.disconnect" name="%command.org.jkiss.dbeaver.core.disconnect.name" description="%command.org.jkiss.dbeaver.core.disconnect.description" categoryId="org.jkiss.dbeaver.core.database"/>
        <command id="org.jkiss.dbeaver.core.invalidate" name="%command.org.jkiss.dbeaver.core.invalidate.name" description="%command.org.jkiss.dbeaver.core.invalidate.description" categoryId="org.jkiss.dbeaver.core.database"/>
        <command id="org.jkiss.dbeaver.core.disconnectProject" name="%command.org.jkiss.dbeaver.core.disconnectProject.name" description="%command.org.jkiss.dbeaver.core.disconnectProject.description" categoryId="org.jkiss.dbeaver.core.database"/>
        <command id="org.jkiss.dbeaver.core.disconnectAll" name="%command.org.jkiss.dbeaver.core.disconnectAll.name" description="%command.org.jkiss.dbeaver.core.disconnectAll.description" categoryId="org.jkiss.dbeaver.core.database"/>
        <command id="org.jkiss.dbeaver.core.disconnectOther" name="%command.org.jkiss.dbeaver.core.disconnectOther.name" description="%command.org.jkiss.dbeaver.core.disconnectOther.description" categoryId="org.jkiss.dbeaver.core.database"/>
        <command id="org.jkiss.dbeaver.core.commit" name="%command.org.jkiss.dbeaver.core.commit.name" description="%command.org.jkiss.dbeaver.core.commit.description" categoryId="org.jkiss.dbeaver.core.database"/>
        <command id="org.jkiss.dbeaver.core.rollback" name="%command.org.jkiss.dbeaver.core.rollback.name" description="%command.org.jkiss.dbeaver.core.rollback.description" categoryId="org.jkiss.dbeaver.core.database"/>
        <command id="org.jkiss.dbeaver.core.txn.autocommit" name="%command.org.jkiss.dbeaver.core.txn.autocommit.name" description="%command.org.jkiss.dbeaver.core.txn.autocommit.description" categoryId="org.jkiss.dbeaver.core.database"/>
        <command id="org.jkiss.dbeaver.core.connection.synchronize" name="%command.org.jkiss.dbeaver.core.connection.synchronize.name" description="%command.org.jkiss.dbeaver.core.connection.synchronize.description" categoryId="org.jkiss.dbeaver.core.database" />
        <command id="org.jkiss.dbeaver.core.connection.readonly" name="%command.org.jkiss.dbeaver.core.connection.readonly.name" description="%command.org.jkiss.dbeaver.core.connection.readonly.description" categoryId="org.jkiss.dbeaver.core.database" />
        <command id="org.jkiss.dbeaver.core.txn.log" name="%command.org.jkiss.dbeaver.core.txn.log.name" description="%command.org.jkiss.dbeaver.core.txn.log.description" categoryId="org.jkiss.dbeaver.core.database"/>
        <command id="org.jkiss.dbeaver.core.txn.pending" name="%command.org.jkiss.dbeaver.core.txn.pending.name" description="%command.org.jkiss.dbeaver.core.txn.pending.description" categoryId="org.jkiss.dbeaver.core.database"/>

        <command id="org.jkiss.dbeaver.core.edit.copy.special" name="%command.org.jkiss.dbeaver.core.edit.copy.special.name" description="%command.org.jkiss.dbeaver.core.edit.copy.special.description" categoryId="org.jkiss.dbeaver.core.util"/>
        <command id="org.jkiss.dbeaver.core.edit.paste.special" name="%command.org.jkiss.dbeaver.core.edit.paste.special.name" description="%command.org.jkiss.dbeaver.core.edit.paste.special.description" categoryId="org.jkiss.dbeaver.core.util"/>

        <command id="org.jkiss.dbeaver.core.qm.filter" name="%command.org.jkiss.dbeaver.core.qm.filter.name" description="%command.org.jkiss.dbeaver.core.qm.filter.description" categoryId="org.jkiss.dbeaver.core.util"/>
        <command id="org.jkiss.dbeaver.core.qm.clear" name="%command.org.jkiss.dbeaver.core.qm.clear.name" description="%command.org.jkiss.dbeaver.core.qm.clear.description" categoryId="org.jkiss.dbeaver.core.util"/>

        <command id="org.jkiss.dbeaver.core.process.stop" name="%command.org.jkiss.dbeaver.core.process.stop.name" description="%command.org.jkiss.dbeaver.core.process.stop.description" categoryId="org.jkiss.dbeaver.core.util"/>

        <command id="org.jkiss.dbeaver.ui.tools.menu" name="%command.org.jkiss.dbeaver.ui.tools.menu.name" description="%command.org.jkiss.dbeaver.ui.tools.menu.description" categoryId="org.jkiss.dbeaver.core.database"/>

        <command id="org.jkiss.dbeaver.core.generate.uuid" name="%command.org.jkiss.dbeaver.core.generate.uuid.name" description="%command.org.jkiss.dbeaver.core.generate.uuid.description" categoryId="org.jkiss.dbeaver.core.database"/>
    </extension>

    <extension point="org.eclipse.ui.commandImages">
        <image commandId="org.jkiss.dbeaver.core.new.connection" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/database_connect.png"/>
        <image commandId="org.jkiss.dbeaver.core.new.connection.from.url" icon="platform:/plugin/org.jkiss.dbeaver.model/icons/connection/database_icon.png"/>
        <image commandId="org.jkiss.dbeaver.core.navigator.bookmark.add" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/bookmark.png"/>

        <image commandId="org.jkiss.dbeaver.core.connect" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/connect.png"/>
        <image commandId="org.jkiss.dbeaver.core.invalidate" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/reconnect.png"/>
        <image commandId="org.jkiss.dbeaver.core.disconnect" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/disconnect.png"/>
        <image commandId="org.jkiss.dbeaver.core.connection.synchronize" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sync_connection.png"/>
        <image commandId="org.jkiss.dbeaver.core.connection.readonly" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/readonly.png" />
        <image commandId="org.jkiss.dbeaver.folder.disconnect" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/disconnect.png"/>
        <image commandId="org.jkiss.dbeaver.core.commit" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/commit.png"/>
        <image commandId="org.jkiss.dbeaver.core.rollback" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/rollback.png"/>
        <image commandId="org.jkiss.dbeaver.core.txn.log" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/txn_log.png"/>

        <image commandId="org.jkiss.dbeaver.core.qm.filter" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/misc/filter.png"/>
        <image commandId="org.jkiss.dbeaver.core.qm.clear" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/erase.png"/>

        <image commandId="org.jkiss.dbeaver.core.process.stop" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/misc/cancel.png"/>

        <image commandId="org.jkiss.dbeaver.core.generate.uuid" icon="platform:/plugin/org.jkiss.dbeaver.model/icons/types/uuid.png"/>
    </extension>

    <extension point="org.eclipse.core.expressions.definitions">
        <definition id="org.jkiss.dbeaver.core.ui.querylog.control">
            <with variable="activeFocusControlId">
                <equals value="org.jkiss.dbeaver.ui.qm.log"/>
            </with>
        </definition>
<!--
        <definition id="org.jkiss.dbeaver.core.ui.inlineWidgetEditor">
            <with variable="activeFocusControlId">
                <equals value="org.jkiss.dbeaver.ui.InlineWidgetEditor"/>
            </with>
        </definition>
        <definition id="org.jkiss.dbeaver.core.ui.inlineWidgetStyledText">
            <and>
                <with variable="activeFocusControlId">
                    <equals value="org.jkiss.dbeaver.ui.InlineWidgetEditor"/>
                </with>
                <with variable="activeFocusControl">
                    <instanceof value="org.eclipse.swt.custom.StyledText"/>
                </with>
            </and>
        </definition>
-->

        <definition id="org.jkiss.dbeaver.core.ui.querylog.view">
            <with variable="activePart">
                <instanceof value="org.jkiss.dbeaver.ui.views.qm.QueryManagerView"/>
            </with>
        </definition>
        <definition id="org.jkiss.dbeaver.core.ui.toolbar.general.visible">
            <reference definitionId="DBeaverPerspectiveActive"/>
        </definition>
        <definition id="org.jkiss.dbeaver.core.ui.editor.transactional">
            <with variable="activeEditor">
                <adapt type="org.jkiss.dbeaver.model.DBPContextProvider">
                    <test property="org.jkiss.dbeaver.core.datasource.supportsTransactions" value="true"/>
                </adapt>
            </with>
        </definition>
        <definition id="org.jkiss.dbeaver.core.preferences.datasource">
            <or>
                <instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
                <instanceof value="org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer"/>
                <adapt type="org.jkiss.dbeaver.model.DBPDataSourceContainer"/>
            </or>
        </definition>

        <definition id="org.jkiss.dbeaver.core.datasource.connected">
            <or>
                <with variable="selection">
                    <count value="1"/>
                    <iterate operator="and">
                        <adapt type="org.jkiss.dbeaver.model.DBPContextProvider">
                            <test property="org.jkiss.dbeaver.core.datasource.connected" value="true"/>
                        </adapt>
                    </iterate>
                </with>
                <with variable="activePart">
                    <adapt type="org.jkiss.dbeaver.model.DBPContextProvider">
                        <test property="org.jkiss.dbeaver.core.datasource.connected" value="true"/>
                    </adapt>
                </with>
            </or>
        </definition>

        <definition id="org.jkiss.dbeaver.core.folder.connected">
            <with variable="selection">
                <count value="+"/>
                <iterate operator="and">
                    <adapt type="org.jkiss.dbeaver.model.navigator.DBNLocalFolder">
                        <test property="org.jkiss.dbeaver.core.folder.connected" value="true"/>
                    </adapt>
                </iterate>
            </with>
        </definition>

        <definition id="org.jkiss.dbeaver.core.datasource.disconnected">
            <or>
                <with variable="selection">
                    <count value="1"/>
                    <iterate operator="and">
                        <adapt type="org.jkiss.dbeaver.model.DBPContextProvider">
                            <test property="org.jkiss.dbeaver.core.datasource.connected" value="false"/>
                        </adapt>
                    </iterate>
                </with>
                <with variable="activePart">
                    <adapt type="org.jkiss.dbeaver.model.DBPContextProvider">
                        <test property="org.jkiss.dbeaver.core.datasource.connected" value="false"/>
                    </adapt>
                </with>
            </or>
        </definition>

        <definition id="org.jkiss.dbeaver.core.datasource.synchronizable">
            <or>
                <with variable="selection">
                    <count value="1"/>
                    <iterate operator="and">
                        <adapt type="org.jkiss.dbeaver.model.DBPContextProvider">
                            <test property="org.jkiss.dbeaver.core.datasource.synchronizable" value="true"/>
                        </adapt>
                    </iterate>
                </with>
                <with variable="activePart">
                    <adapt type="org.jkiss.dbeaver.model.DBPContextProvider">
                        <test property="org.jkiss.dbeaver.core.datasource.synchronizable" value="true"/>
                    </adapt>
                </with>
            </or>
        </definition>

    </extension>

    <extension point="org.eclipse.ui.handlers">
        <handler commandId="org.jkiss.dbeaver.core.eula.showPopup" class="org.jkiss.dbeaver.ui.eula.EULAHandler"/>
        <handler commandId="org.jkiss.dbeaver.core.new.connection" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceCreateHandler">
            <enabledWhen>
                <with variable="activePart">
                    <test property="org.jkiss.dbeaver.core.global.canCreateConnection"/>
                </with>
            </enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.new.connection.from.url" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceCreateFromUrlHandler">
            <enabledWhen>
                <with variable="activePart">
                    <test property="org.jkiss.dbeaver.core.global.canCreateConnection"/>
                </with>
            </enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.migrate.connection" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceMigrateHandler">
            <enabledWhen>
                <with variable="selection">
                    <count value="+"/>
                    <iterate operator="and">
                        <instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
                    </iterate>
                </with>
            </enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.navigator.bookmark.add" class="org.jkiss.dbeaver.ui.actions.common.AddBookmarkHandler">
            <enabledWhen>
                <with variable="selection">
                    <count value="1"/>
                    <iterate operator="and">
                        <and>
                            <adapt type="org.jkiss.dbeaver.model.navigator.DBNDatabaseNode"/>
                            <test property="org.jkiss.dbeaver.core.object.projectResourceEditable"/>
                        </and>
                    </iterate>
                </with>
            </enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.navigator.bookmark.navigate" class="org.jkiss.dbeaver.ui.actions.common.NavigateBookmarkHandler">
            <enabledWhen>
                <with variable="selection">
                    <count value="1"/>
                    <iterate operator="and">
                        <instanceof value="org.jkiss.dbeaver.ui.resources.bookmarks.DBNBookmark"/>
                    </iterate>
                </with>
            </enabledWhen>
        </handler>

        <handler commandId="org.jkiss.dbeaver.core.connect" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceConnectHandler">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.datasource.disconnected"/></enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.disconnect" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceDisconnectHandler">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.datasource.connected"/></enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.folder.disconnect" class="org.jkiss.dbeaver.ui.actions.datasource.FolderDisconnectHandler">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.folder.connected"/></enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.disconnectAll" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceDisconnectAllHandler"/>
        <handler commandId="org.jkiss.dbeaver.core.disconnectOther" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceDisconnectOtherHandler">
            <enabledWhen>
                <with variable="selection">
                    <count value="1"/>
                    <iterate operator="and">
                        <instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
                    </iterate>
                </with>
            </enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.disconnectProject" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceDisconnectProjectHandler">
            <enabledWhen>
                <with variable="selection">
                    <test property="org.jkiss.dbeaver.core.global.hasMultipleProjects"/>
                </with>
            </enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.invalidate" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceInvalidateHandler">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.datasource.connected"/></enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.connection.synchronize" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceSynchronizeHandler">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.datasource.synchronizable"/></enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.commit" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceCommitHandler">
            <enabledWhen>
                <with variable="activeEditor">
                    <adapt type="org.jkiss.dbeaver.model.DBPContextProvider">
                        <test property="org.jkiss.dbeaver.core.datasource.transactionActive" value="true"/>
                    </adapt>
                </with>
            </enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.rollback" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceRollbackHandler">
            <enabledWhen>
                <with variable="activeEditor">
                    <adapt type="org.jkiss.dbeaver.model.DBPContextProvider">
                        <test property="org.jkiss.dbeaver.core.datasource.transactionActive" value="true"/>
                    </adapt>
                </with>
            </enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.txn.autocommit" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceAutoCommitHandler">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.ui.editor.transactional"/></enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.connection.readonly" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceReadonlyHandler">
            <enabledWhen>
                <or>
                    <reference definitionId="org.jkiss.dbeaver.core.datasource.connected"/>
                    <reference definitionId="org.jkiss.dbeaver.core.datasource.disconnected"/>
                </or>
            </enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.txn.log" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceTransactionLogHandler">\
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.ui.editor.transactional"/></enabledWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.txn.pending" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourcePendingTransactionsHandler">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.ui.editor.transactional"/></enabledWhen>
        </handler>

        <!-- Set default behaviour for standard widgets -->
<!--
        <handler commandId="org.eclipse.ui.edit.copy" class="org.eclipse.ui.internal.handlers.WidgetMethodHandler:copy">
            <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
        </handler>
        <handler commandId="org.eclipse.ui.edit.paste" class="org.eclipse.ui.internal.handlers.WidgetMethodHandler:paste">
            <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
        </handler>
        <handler commandId="org.eclipse.ui.edit.cut" class="org.eclipse.ui.internal.handlers.WidgetMethodHandler:cut">
            <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
        </handler>
        <handler commandId="org.eclipse.ui.edit.selectAll" class="org.eclipse.ui.internal.handlers.SelectAllHandler">
            <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
        </handler>
-->

        <!--
            Inline control handlers.
            Commented because we use workaround - see UIUtils.enableHostEditorKeyBindings()
         -->
<!--
                <handler commandId="org.eclipse.ui.edit.text.goto.lineStart" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:lineStart">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetStyledText"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.goto.lineEnd" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:lineEnd">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetStyledText"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.goto.textStart" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:textStart">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetStyledText"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.goto.textEnd" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:textEnd">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetStyledText"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.goto.pageUp" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:pageUp">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetStyledText"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.goto.pageDown" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:pageDown">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetStyledText"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.goto.wordPrevious" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:wordPrevious">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetStyledText"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.goto.wordNext" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:wordNext">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetStyledText"/></activeWhen>
                </handler>
-->

<!--
                <handler commandId="org.eclipse.ui.edit.text.select.lineStart" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:lineStart">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.select.lineEnd" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:lineEnd">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.select.textStart" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:textStart">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.select.textEnd" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:textEnd">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.select.pageUp" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:pageUp">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.select.pageDown" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:pageDown">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.select.wordPrevious" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:wordPrevious">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
                </handler>
                <handler commandId="org.eclipse.ui.edit.text.select.wordNext" class="org.jkiss.dbeaver.ui.editors.WidgetCommandDirector:wordNext">
                    <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.inlineWidgetEditor"/></activeWhen>
                </handler>
-->

        <!-- Query log control handlers -->
        <handler commandId="org.eclipse.ui.file.refresh" class="org.jkiss.dbeaver.ui.controls.querylog.QueryLogCommandHandler">
            <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.querylog.control"/></activeWhen>
        </handler>
        <handler commandId="org.eclipse.ui.edit.selectAll" class="org.jkiss.dbeaver.ui.controls.querylog.QueryLogCommandHandler">
           <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.querylog.control"/></activeWhen>
        </handler>
        <handler commandId="org.eclipse.ui.edit.copy" class="org.jkiss.dbeaver.ui.controls.querylog.QueryLogCommandHandler">
           <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.querylog.control"/></activeWhen>
        </handler>
        <handler commandId="org.jkiss.dbeaver.core.edit.copy.special" class="org.jkiss.dbeaver.ui.controls.querylog.QueryLogCommandHandler">
           <activeWhen><reference definitionId="org.jkiss.dbeaver.core.ui.querylog.control"/></activeWhen>
        </handler>

        <!-- Query log view handlers -->
        <handler commandId="org.jkiss.dbeaver.core.qm.filter" class="org.jkiss.dbeaver.ui.views.qm.QueryManagerFilterHandler"/>
        <handler commandId="org.jkiss.dbeaver.core.qm.clear" class="org.jkiss.dbeaver.ui.views.qm.QueryManagerClearHandler"/>

        <!-- Process view handlers -->
        <handler commandId="org.jkiss.dbeaver.core.process.stop" class="org.jkiss.dbeaver.ui.views.process.ShellProcessStopHandler">
            <enabledWhen>
                <with variable="activePart">
                    <test property="org.jkiss.dbeaver.runtime.process.running"/>
                </with>
            </enabledWhen>
        </handler>

        <!-- Tools menu -->
        <handler commandId="org.jkiss.dbeaver.ui.tools.menu" class="org.jkiss.dbeaver.ui.actions.datasource.ToolsContextMenuHandler">
            <activeWhen>
                <or>
                    <reference definitionId="org.jkiss.dbeaver.core.ui.navigator.part"/>
                    <reference definitionId="org.jkiss.dbeaver.core.ui.datasource.part"/>
                </or>
            </activeWhen>
        </handler>

        <handler commandId="org.jkiss.dbeaver.core.generate.uuid" class="org.jkiss.dbeaver.ui.actions.common.GenerateUUIDHandler">
            <with variable="activePart">
                <or>
                    <adapt type="org.jkiss.dbeaver.ui.controls.resultset.IResultSetController"/>
                    <adapt type="org.eclipse.jface.text.ITextViewer"/>
                </or>
            </with>
        </handler>

    </extension>

    <extension point="org.eclipse.ui.menus">

        <!-- Database menu -->
        <menuContribution allPopups="false" locationURI="menu:org.eclipse.ui.main.menu?before=window">
            <menu id="dataSourceMenu" label="%menu.database">
                <visibleWhen><reference definitionId="DBeaverPerspectiveActive"/></visibleWhen>

                <separator name="driverGroup" visible="true"/>
                <command commandId="org.jkiss.dbeaver.core.new.connection">
                    <visibleWhen checkEnabled="true"/>
                </command>
                <command commandId="org.jkiss.dbeaver.core.new.connection.from.url">
                    <visibleWhen checkEnabled="true"/>
                </command>
                <command commandId="org.jkiss.dbeaver.core.driver.manager">
                    <visibleWhen checkEnabled="true"/>
                </command>
                <separator name="connection" visible="true"/>
                <command commandId="org.jkiss.dbeaver.core.connect"/>
                <command commandId="org.jkiss.dbeaver.core.invalidate"/>
                <command commandId="org.jkiss.dbeaver.core.disconnect"/>
                <command commandId="org.jkiss.dbeaver.core.disconnectAll"/>
                <command commandId="org.jkiss.dbeaver.core.disconnectOther"/>
                <command commandId="org.jkiss.dbeaver.core.disconnectProject">
                    <visibleWhen checkEnabled="true"/>
                </command>
                <command commandId="org.jkiss.dbeaver.core.connection.synchronize">
                    <visibleWhen checkEnabled="true"/>
                </command>
                <separator name="session" visible="true"/>
                <command commandId="org.jkiss.dbeaver.core.commit">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.editor.transactional"/></visibleWhen>
                </command>
                <command commandId="org.jkiss.dbeaver.core.rollback">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.editor.transactional"/></visibleWhen>
                </command>
                <menu label="%command.org.jkiss.dbeaver.core.transaction_mode.name">
                    <dynamic id="org.jkiss.dbeaver.core.menu.txn" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceTransactionModeContributor"/>
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.editor.transactional"/></visibleWhen>
                </menu>
                <command commandId="org.jkiss.dbeaver.core.txn.log">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.editor.transactional"/></visibleWhen>
                </command>
                <command commandId="org.jkiss.dbeaver.core.txn.pending">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.editor.transactional"/></visibleWhen>
                </command>
                <command commandId="org.jkiss.dbeaver.core.connection.readonly" style="toggle"/>
                <separator name="transactions" visible="false"/>
                <separator name="tools" visible="true"/>
                <command commandId="org.jkiss.dbeaver.core.migrate.connection">
                    <visibleWhen checkEnabled="true"/>
                </command>

                <separator name="additions" visible="false"/>
            </menu>
        </menuContribution>

        <!-- Database toolbar -->
        <menuContribution allPopups="false" locationURI="toolbar:org.eclipse.ui.main.toolbar?before=additions">
            <toolbar id="dbeaver-general" label="%toolbar.dbeaver-general.label">
                <command commandId="org.jkiss.dbeaver.core.new.connection" id="org.jkiss.dbeaver.core.menu.newConnection" style="pulldown">
                    <visibleWhen checkEnabled="true"><reference definitionId="org.jkiss.dbeaver.core.ui.toolbar.general.visible"/></visibleWhen>
                </command>
                <separator name="connection-tools" visible="true"/>
                <command commandId="org.jkiss.dbeaver.core.connect">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.toolbar.general.visible"/></visibleWhen>
                </command>
                <command commandId="org.jkiss.dbeaver.core.invalidate">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.toolbar.general.visible"/></visibleWhen>
                </command>
                <command commandId="org.jkiss.dbeaver.core.disconnect">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.toolbar.general.visible"/></visibleWhen>
                </command>
                <command commandId="org.jkiss.dbeaver.core.connection.synchronize">
                    <visibleWhen>
                        <and>
                            <reference definitionId="org.jkiss.dbeaver.core.ui.toolbar.general.visible"/>
                            <reference definitionId="org.jkiss.dbeaver.core.datasource.synchronizable"/>
                        </and>
                    </visibleWhen>
                </command>
                <separator name="sql_tools" visible="true"/>
                <separator name="additions" visible="false"/>
            </toolbar>
            <toolbar id="dbeaver-transactions" label="%toolbar.dbeaver-transactions.label">
                <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.datasource.editor"/></visibleWhen>
                <command commandId="org.jkiss.dbeaver.core.commit" style="push" mode="FORCE_TEXT">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.datasource.editor"/></visibleWhen>
                </command>
                <command commandId="org.jkiss.dbeaver.core.rollback" style="push" mode="FORCE_TEXT">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.datasource.editor"/></visibleWhen>
                </command>
                <command
                      commandId="org.jkiss.dbeaver.core.txn.autocommit"
                      icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/txn_auto.png"
                      id="org.jkiss.dbeaver.core.menu.txn"
                      style="pulldown"
                      tooltip="%command.org.jkiss.dbeaver.core.txn.autocommit.description">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.datasource.editor"/></visibleWhen>
                </command>
                <command commandId="org.jkiss.dbeaver.core.connection.readonly" style="toggle">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.toolbar.general.visible"/></visibleWhen>
                </command>
                <separator name="additions" visible="false"/>
            </toolbar>

            <toolbar id="dbeaver-transaction-monitor" label="%toolbar.dbeaver-transaction-monitor.label">
                <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.datasource.editor"/></visibleWhen>
                <control class="org.jkiss.dbeaver.ui.controls.txn.TransactionMonitorToolbar$ToolbarContribution" id="Transaction monitor toolbar">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.datasource.editor"/></visibleWhen>
                </control>
                <command
                      commandId="org.jkiss.dbeaver.core.txn.log"
                      id="org.jkiss.dbeaver.core.menu.txn.log"
                      style="pulldown">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.datasource.editor"/></visibleWhen>
                </command>
            </toolbar>

<!--
            <toolbar id="dbeaver-edit" label="%toolbar.dbeaver-edit.label">
                <command commandId="org.eclipse.ui.file.save"/>
                <command commandId="org.eclipse.ui.file.revert" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/file/reset.png"/>
                <command commandId="org.eclipse.ui.edit.undo"/>
                <command commandId="org.eclipse.ui.edit.redo"/>
                <command commandId="org.eclipse.ui.file.refresh"/>
            </toolbar>
-->

            <toolbar id="dbeaver-connection-selector" label="%toolbar.dbeaver-datasource-selector.label">
                <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.datasource.editor"/></visibleWhen>
                <command
                    commandId="org.jkiss.dbeaver.ui.tools.select.connection"
                    id="org.jkiss.dbeaver.core.menu.select.connection"
                    style="pulldown"
                    mode="FORCE_TEXT">
                    <visibleWhen>
                        <reference definitionId="org.jkiss.dbeaver.core.ui.datasource.editor"/>
                    </visibleWhen>
                </command>
                <command
                    commandId="org.jkiss.dbeaver.ui.tools.select.schema"
                    id="org.jkiss.dbeaver.core.menu.select.schema"
                    style="pulldown"
                    mode="FORCE_TEXT">
                    <visibleWhen><reference definitionId="org.jkiss.dbeaver.core.ui.datasource.editor"/></visibleWhen>
                </command>
                <separator name="additions" visible="false"/>
            </toolbar>

        </menuContribution>

        <!-- All Context menus -->
        <menuContribution allPopups="false" locationURI="popup:org.eclipse.ui.popup.any?after=navigator_additions">
            <separator name="sql_tools" visible="true"/>

            <command commandId="org.jkiss.dbeaver.core.project.active">
                <visibleWhen checkEnabled="true"/>
            </command>

            <separator name="create" visible="true"/>

            <command commandId="org.jkiss.dbeaver.core.object.open">
                <visibleWhen checkEnabled="true"/>
            </command>
            <menu label="%menu.org.jkiss.dbeaver.core.connection.settings.label">
                <dynamic id="org.jkiss.dbeaver.core.connection.settings" class="org.jkiss.dbeaver.ui.actions.datasource.ConnectionViewSettingsContributor">
                </dynamic>
                <visibleWhen>
                    <with variable="selection">
                        <count value="1"/>
                        <iterate operator="and">
                            <adapt type="org.jkiss.dbeaver.model.navigator.DBNDataSource">
                                <test property="org.jkiss.dbeaver.core.datasource.editable"/>
                            </adapt>
                        </iterate>
                    </with>
                </visibleWhen>
            </menu>
            <command commandId="org.jkiss.dbeaver.core.navigator.bookmark.navigate">
                <visibleWhen checkEnabled="true"/>
            </command>

            <command commandId="org.jkiss.dbeaver.core.navigator.open.browser">
                <visibleWhen checkEnabled="true"/>
            </command>

            <menu
                  icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/misc/filter.png"
                  label="%menu.filter.label">
                <command commandId="org.jkiss.dbeaver.core.object.filter.add.exclude">
                    <visibleWhen checkEnabled="true"/>
                </command>
                <command commandId="org.jkiss.dbeaver.core.object.filter.add.include">
                    <visibleWhen checkEnabled="true"/>
                </command>
                <command commandId="org.jkiss.dbeaver.core.object.filter.config">
                    <visibleWhen checkEnabled="true"/>
                </command>
                <command commandId="org.jkiss.dbeaver.core.object.filter.toggle">
                    <visibleWhen checkEnabled="true"/>
                </command>
                <command commandId="org.jkiss.dbeaver.core.object.filter.clear">
                    <visibleWhen checkEnabled="true"/>
                </command>
            </menu>

<!--
            <command commandId="org.jkiss.dbeaver.core.object.move.up">
                <visibleWhen checkEnabled="true"/>
            </command>
            <command commandId="org.jkiss.dbeaver.core.object.move.down">
                <visibleWhen checkEnabled="true"/>
            </command>
-->

            <command commandId="org.jkiss.dbeaver.core.sql.script.associate">
                <visibleWhen checkEnabled="true"/>
            </command>
            <command commandId="org.jkiss.dbeaver.core.show.in.explorer">
                <visibleWhen checkEnabled="true"/>
            </command>

            <separator name="connection-tools" visible="true"/>

            <command commandId="org.jkiss.dbeaver.core.connect">
                <visibleWhen>
                    <with variable="selection">
                        <count value="1"/>
                        <iterate operator="and">
                            <instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
                        </iterate>
                    </with>
                </visibleWhen>
            </command>
            <command commandId="org.jkiss.dbeaver.core.invalidate">
                <visibleWhen>
                    <with variable="selection">
                        <count value="1"/>
                        <iterate operator="and">
                            <instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
                        </iterate>
                    </with>
                </visibleWhen>
            </command>
            <command commandId="org.jkiss.dbeaver.core.disconnect">
                <visibleWhen>
                    <with variable="selection">
                        <count value="1"/>
                        <iterate operator="and">
                            <instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
                        </iterate>
                    </with>
                </visibleWhen>
            </command>
            <command commandId="org.jkiss.dbeaver.folder.disconnect">
                <visibleWhen checkEnabled="true"/>
            </command>
        </menuContribution>

        <!-- Additions end - Copy/Paste/etc -->

        <menuContribution allPopups="false" locationURI="popup:org.eclipse.ui.popup.any?after=navigator_additions_end">
            <separator name="copy" visible="true"/>

            <command commandId="org.eclipse.ui.edit.copy" label="%command.org.eclipse.ui.edit.copy.name">
                <visibleWhen checkEnabled="true"/>
            </command>
            <command commandId="org.eclipse.ui.edit.paste" label="%command.org.eclipse.ui.edit.paste.name">
                <visibleWhen checkEnabled="true"/>
            </command>
            <command commandId="org.jkiss.dbeaver.core.edit.copy.special" label="%command.org.jkiss.dbeaver.core.edit.copy.adv_info">
                <visibleWhen checkEnabled="true"/>
            </command>
            <command commandId="org.eclipse.ui.edit.delete" label="%command.org.eclipse.ui.edit.delete.name">
                <visibleWhen checkEnabled="true"/>
            </command>
            <command commandId="org.eclipse.ui.edit.rename" label="%command.org.eclipse.ui.edit.rename.name">
                <visibleWhen checkEnabled="true"/>
            </command>

        </menuContribution>

        <menuContribution allPopups="false" locationURI="menu:org.eclipse.ui.main.menu?after=additions">
            <menu id="navigate" label="%menu.navigate">
                <command commandId="org.jkiss.dbeaver.core.object.goto"><visibleWhen checkEnabled="true"/></command>
                <command commandId="org.jkiss.dbeaver.ui.editors.sql.navigate.object">
					  <visibleWhen checkEnabled="true"/>
			    </command>
            </menu>
        </menuContribution><menuContribution allPopups="false" locationURI="menu:help?after=additions">
            <command commandId="org.jkiss.dbeaver.core.eula.showPopup" label="%command.org.jkiss.dbeaver.ui.eula.showPopup.name"/>
        </menuContribution>
        <!-- Transaction mode menu -->
        <menuContribution allPopups="false" locationURI="menu:org.jkiss.dbeaver.core.menu.txn">
            <dynamic id="org.jkiss.dbeaver.core.menu.txn.isolation" class="org.jkiss.dbeaver.ui.actions.datasource.DataSourceTransactionModeContributor"/>
        </menuContribution>

        <menuContribution allPopups="false" locationURI="menu:org.jkiss.dbeaver.core.menu.project">
            <dynamic id="org.jkiss.dbeaver.core.menu.project.active" class="org.jkiss.dbeaver.ui.navigator.actions.NavigatorActiveProjectContributor"/>
        </menuContribution>

        <!-- New connection menu -->
        <menuContribution allPopups="false" locationURI="menu:org.jkiss.dbeaver.core.menu.newConnection">
            <separator name="additions" visible="false"/>
            <dynamic id="org.jkiss.dbeaver.core.menu.newConnection.select" class="org.jkiss.dbeaver.ui.actions.datasource.NewConnectionDriverSelectorContributor"/>
            <separator name="footer" visible="true"/>
            <command commandId="org.jkiss.dbeaver.core.new.connection.from.url" label="%command.org.jkiss.dbeaver.core.new.connection.from.url.name_short"/>
        </menuContribution>

        <!-- QM menu & toolbar -->

        <menuContribution allPopups="false" locationURI="menu:org.jkiss.dbeaver.core.queryManager">
            <command commandId="org.jkiss.dbeaver.core.qm.filter"/>
            <command commandId="org.jkiss.dbeaver.core.qm.clear"/>
            <command commandId="org.eclipse.ui.file.refresh" label="%command.org.jkiss.dbeaver.core.qm.refresh.name" tooltip="%command.org.jkiss.dbeaver.core.qm.refresh.description"/>
            <separator name="additions" visible="true"/>
            <separator name="settings" visible="false"/>
        </menuContribution>

        <menuContribution allPopups="false" locationURI="toolbar:org.jkiss.dbeaver.core.queryManager">
            <command commandId="org.jkiss.dbeaver.core.qm.filter"/>
            <separator name="refresh" visible="true"/>
            <command commandId="org.jkiss.dbeaver.core.qm.clear"/>
            <command commandId="org.eclipse.ui.file.refresh" label="%command.org.jkiss.dbeaver.core.qm.refresh.name" tooltip="%command.org.jkiss.dbeaver.core.qm.refresh.description"/>
            <separator name="additions" visible="true"/>
            <separator name="settings" visible="false"/>
        </menuContribution>

        <menuContribution allPopups="false" locationURI="menu:org.jkiss.dbeaver.core.shellProcess">
            <command commandId="org.jkiss.dbeaver.core.process.stop"/>
        </menuContribution>

        <menuContribution allPopups="false" locationURI="toolbar:org.jkiss.dbeaver.core.shellProcess">
            <command commandId="org.jkiss.dbeaver.core.process.stop"/>
        </menuContribution>

        <!-- Connection and schema selector menus -->
        <menuContribution allPopups="false" locationURI="menu:org.jkiss.dbeaver.core.menu.select.connection">
            <dynamic id="org.jkiss.dbeaver.core.menu.select.connection.list" class="org.jkiss.dbeaver.ui.actions.datasource.SelectActiveDataSourceHandler$MenuContributor"/>
        </menuContribution>
        <menuContribution allPopups="false" locationURI="menu:org.jkiss.dbeaver.core.menu.select.schema">
            <dynamic id="org.jkiss.dbeaver.core.menu.select.schema.list" class="org.jkiss.dbeaver.ui.actions.datasource.SelectActiveSchemaHandler$MenuContributor"/>
        </menuContribution>

        <!-- Transaction log menu -->
        <menuContribution allPopups="false" locationURI="menu:org.jkiss.dbeaver.core.menu.txn.log">
            <command commandId="org.jkiss.dbeaver.core.txn.log"/>
            <command commandId="org.jkiss.dbeaver.core.txn.pending"/>
            <command commandId="org.eclipse.ui.views.showView" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/misc/qm.png" label="%command.org.eclipse.ui.views.showView.label" style="push">
                <parameter name="org.eclipse.ui.views.showView.viewId" value="org.jkiss.dbeaver.core.queryManager"/>
            </command>
        </menuContribution>

        <menuContribution allPopups="false" locationURI="menu:edit?after=transforms">
            <command commandId="org.jkiss.dbeaver.core.generate.uuid">
                <visibleWhen checkEnabled="true"/>
            </command>
        </menuContribution>

        <!-- Database Navigator menu & toolbar -->
        <menuContribution allPopups="false" locationURI="menu:org.jkiss.dbeaver.core.databaseNavigator">
            <command commandId="org.jkiss.dbeaver.core.new.connection" id="org.jkiss.dbeaver.core.menu.newConnection" style="pulldown">
                <visibleWhen checkEnabled="true"/>
            </command>
            <command commandId="org.jkiss.dbeaver.core.driver.manager">
                <visibleWhen checkEnabled="true"/>
            </command>
            <separator name="projects" visible="true"/>
            <menu commandId="org.jkiss.dbeaver.core.project.select" label="%menu.org.jkiss.dbeaver.core.project.select.label">
                <dynamic id="org.jkiss.dbeaver.core.menu.project.active" class="org.jkiss.dbeaver.ui.navigator.actions.NavigatorActiveProjectContributor"/>
            </menu>
            <command commandId="org.jkiss.dbeaver.core.new.folder"/>
            <separator name="additions" visible="true"/>
            <command commandId="org.eclipse.ui.navigate.collapseAll"/>
            <command commandId="org.jkiss.dbeaver.core.navigator.linkeditor"/>
            <command commandId="org.jkiss.dbeaver.core.navigator.preferences"/>
        </menuContribution>

        <menuContribution allPopups="false" locationURI="toolbar:org.jkiss.dbeaver.core.databaseNavigator">
            <command commandId="org.jkiss.dbeaver.core.new.connection" id="org.jkiss.dbeaver.core.menu.newConnection" style="pulldown">
                <visibleWhen checkEnabled="true"/>
            </command>
            <command commandId="org.jkiss.dbeaver.core.new.folder"/>
            <separator name="additions" visible="true"/>
            <command commandId="org.eclipse.ui.navigate.collapseAll"/>
            <command commandId="org.jkiss.dbeaver.core.navigator.linkeditor"/>
        </menuContribution>

        <!-- Project Navigator menu & toolbar -->
        <menuContribution allPopups="false" locationURI="menu:org.jkiss.dbeaver.core.projectNavigator">
            <command commandId="org.jkiss.dbeaver.core.project.create">
                <visibleWhen checkEnabled="true"/>
            </command>
            <command commandId="org.jkiss.dbeaver.core.project.refresh"/>
            <separator name="additions" visible="true"/>
            <command commandId="org.eclipse.ui.navigate.collapseAll"/>
            <command commandId="org.jkiss.dbeaver.core.navigator.linkeditor"/>
            <command commandId="org.jkiss.dbeaver.core.navigator.preferences"/>
        </menuContribution>

        <menuContribution allPopups="false" locationURI="toolbar:org.jkiss.dbeaver.core.projectNavigator">
            <command commandId="org.jkiss.dbeaver.core.project.create">
                <visibleWhen checkEnabled="true"/>
            </command>
            <separator name="additions" visible="true"/>
            <command commandId="org.eclipse.ui.navigate.collapseAll"/>
            <command commandId="org.jkiss.dbeaver.core.navigator.linkeditor"/>
            <command commandId="org.jkiss.dbeaver.core.navigator.view.configure"/>
            <separator name="additions_end" visible="true"/>
            <command commandId="org.jkiss.dbeaver.core.project.refresh"/>
        </menuContribution>

        <!-- Project explorer menu & toolbar -->
        <menuContribution allPopups="false" locationURI="toolbar:org.jkiss.dbeaver.core.projectExplorer">
            <command commandId="org.jkiss.dbeaver.core.navigator.view.configure"/>
            <command commandId="org.eclipse.ui.navigate.collapseAll"/>
            <command commandId="org.eclipse.ui.navigate.expandAll"/>
            <command commandId="org.jkiss.dbeaver.core.navigator.linkeditor"/>
        </menuContribution>

    </extension>

    <extension point="org.eclipse.ui.bindings">

        <key commandId="org.jkiss.dbeaver.ui.tools.menu" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" platform="win32" sequence="ALT+`"/>
        <key commandId="org.jkiss.dbeaver.ui.tools.menu" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" platform="gtk" sequence="ALT+`"/>
        <key commandId="org.jkiss.dbeaver.ui.tools.menu" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" platform="cocoa" sequence="CTRL+V"/>

        <key commandId="org.jkiss.dbeaver.core.edit.copy.special" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+SHIFT+C"/>
        <key commandId="org.jkiss.dbeaver.core.edit.paste.special" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+SHIFT+V"/>
        <key commandId="org.jkiss.dbeaver.core.navigator.bookmark.add" contextId="org.jkiss.dbeaver.ui.context.navigator.view" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+ALT+SHIFT+D"/>

        <key commandId="org.jkiss.dbeaver.core.commit" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" platform="cocoa" sequence="CTRL+4"/>
        <key commandId="org.jkiss.dbeaver.core.commit" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" platform="gtk" sequence="CTRL+4"/>
        <key commandId="org.jkiss.dbeaver.core.commit" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" platform="win32" sequence="CTRL+ALT+SHIFT+K"/>
        <key commandId="org.jkiss.dbeaver.core.rollback" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" platform="cocoa" sequence="CTRL+8"/>
        <key commandId="org.jkiss.dbeaver.core.rollback" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" platform="gtk" sequence="CTRL+8"/>
        <key commandId="org.jkiss.dbeaver.core.rollback" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" platform="win32" sequence="CTRL+ALT+SHIFT+R"/>

        <key commandId="org.jkiss.dbeaver.core.generate.uuid" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="CTRL+SHIFT+ALT+U"/>
    </extension>

    <extension point="org.eclipse.core.runtime.preferences">
        <initializer class="org.jkiss.dbeaver.core.DesktopPreferencesInitializer"/>
    </extension>

    <extension point="org.eclipse.ui.propertyPages">
        <page id="org.jkiss.dbeaver.preferences.main.errorHandle" class="org.jkiss.dbeaver.ui.preferences.PrefPageErrorHandle" name="%page.org.jkiss.dbeaver.preferences.main.errorHandle.name">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.preferences.datasource"/></enabledWhen>
        </page>
        <page id="org.jkiss.dbeaver.preferences.main.connections" class="org.jkiss.dbeaver.ui.preferences.PrefPageConnectionClient" name="%page.org.jkiss.dbeaver.preferences.main.connections.name">
            <enabledWhen>
                <or>
                    <instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
                    <adapt type="org.jkiss.dbeaver.model.DBPDataSourceContainer"/>
                </or>
            </enabledWhen>
        </page>
        <page id="org.jkiss.dbeaver.preferences.main.transactions" class="org.jkiss.dbeaver.ui.preferences.PrefPageTransactions" name="%page.org.jkiss.dbeaver.preferences.main.transactions.name">
            <enabledWhen>
                <or>
                    <instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
                    <adapt type="org.jkiss.dbeaver.model.DBPDataSourceContainer"/>
                </or>
            </enabledWhen>
        </page>
        <page id="org.jkiss.dbeaver.preferences.main.meta" class="org.jkiss.dbeaver.ui.preferences.PrefPageMetaData" name="%page.org.jkiss.dbeaver.preferences.main.meta.name">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.preferences.datasource"/></enabledWhen>
        </page>

        <page class="org.jkiss.dbeaver.ui.preferences.PrefPageDatabaseEditors" id="org.jkiss.dbeaver.preferences.editors" name="%page.org.jkiss.dbeaver.preferences.editors.name">
            <enabledWhen>
                <or>
                    <instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
                    <instanceof value="org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer"/>
                    <instanceof value="org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase"/>
                    <adapt type="org.jkiss.dbeaver.model.DBPDataSourceContainer"/>
                </or>
            </enabledWhen>
        </page>

        <page category="org.jkiss.dbeaver.preferences.editors" id="org.jkiss.dbeaver.preferences.main.resultset" class="org.jkiss.dbeaver.ui.editors.data.preferences.PrefPageResultSetMain" name="%page.org.jkiss.dbeaver.preferences.main.resultset.name">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.preferences.datasource"/></enabledWhen>
        </page>
        <page category="org.jkiss.dbeaver.preferences.main.resultset" id="org.jkiss.dbeaver.preferences.main.resultset.editors" class="org.jkiss.dbeaver.ui.editors.data.preferences.PrefPageResultSetEditors" name="%page.org.jkiss.dbeaver.preferences.main.resultset.editors.name">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.preferences.datasource"/></enabledWhen>
        </page>
        <page category="org.jkiss.dbeaver.preferences.main.resultset" id="org.jkiss.dbeaver.preferences.main.resultset.presentation" class="org.jkiss.dbeaver.ui.editors.data.preferences.PrefPageResultSetPresentation" name="%page.org.jkiss.dbeaver.preferences.main.resultset.presentation.name">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.preferences.datasource"/></enabledWhen>
        </page>
        <page category="org.jkiss.dbeaver.preferences.main.resultset.presentation" id="org.jkiss.dbeaver.preferences.main.resultset.grid" class="org.jkiss.dbeaver.ui.editors.data.preferences.PrefPageResultSetPresentationGrid" name="%page.org.jkiss.dbeaver.preferences.main.resultset.grid.name">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.preferences.datasource"/></enabledWhen>
        </page>
        <page category="org.jkiss.dbeaver.preferences.main.resultset.presentation" id="org.jkiss.dbeaver.preferences.main.resultset.plain.text" class="org.jkiss.dbeaver.ui.editors.data.preferences.PrefPageResultSetPresentationPlainText" name="%page.org.jkiss.dbeaver.preferences.main.resultset.plain.text.name">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.preferences.datasource"/></enabledWhen>
        </page>
        <page category="org.jkiss.dbeaver.preferences.main.resultset" id="org.jkiss.dbeaver.preferences.main.dataformat" class="org.jkiss.dbeaver.ui.editors.data.preferences.PrefPageDataFormat" name="%page.org.jkiss.dbeaver.preferences.main.dataformat.name">
            <enabledWhen>
                <or>
                    <instanceof value="org.jkiss.dbeaver.model.navigator.DBNDataSource"/>
                    <instanceof value="org.jkiss.dbeaver.registry.formatter.DataFormatterRegistry"/>
                    <instanceof value="org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer"/>
                    <adapt type="org.jkiss.dbeaver.model.DBPDataSourceContainer"/>
                </or>
            </enabledWhen>
        </page>
        <page category="org.jkiss.dbeaver.preferences.main.resultset" id="org.jkiss.dbeaver.preferences.main.dataviewer" class="org.jkiss.dbeaver.ui.editors.data.preferences.PrefPageDataViewer" name="%page.org.jkiss.dbeaver.preferences.main.dataviewer.name">
            <enabledWhen><reference definitionId="org.jkiss.dbeaver.core.preferences.datasource"/></enabledWhen>
        </page>
        <page class="org.jkiss.dbeaver.ui.preferences.PrefPageQueryManager" id="org.jkiss.dbeaver.preferences.main.qm" name="%page.org.jkiss.dbeaver.preferences.main.qm.name">
           <enabledWhen>
              <instanceof value="org.jkiss.dbeaver.ui.views.qm.QueryManagerView"/>
           </enabledWhen>
        </page>
        <page class="org.jkiss.dbeaver.ui.preferences.PrefPageConnectionTypes" id="org.jkiss.dbeaver.preferences.connectionTypes" name="%page.org.jkiss.dbeaver.preferences.connectionTypes.name">
            <enabledWhen>
                <or>
                    <instanceof value="org.jkiss.dbeaver.model.connection.DBPConnectionType"/>
                    <instanceof value="org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase"/>
                </or>
            </enabledWhen>
        </page>

        <page class="org.jkiss.dbeaver.ui.preferences.PrefPageProjectNetworkProfiles"
              id="org.jkiss.dbeaver.project.settings.networkProfiles"
              category="org.jkiss.dbeaver.preferences.projectSettings"
              name="%page.org.jkiss.dbeaver.project.settings.networkProfiles.name" >
            <enabledWhen>
                <adapt type="org.eclipse.core.resources.IProject">
                    <test property="org.eclipse.core.resources.projectNature" value="org.jkiss.dbeaver.DBeaverNature"/>
                </adapt>
            </enabledWhen>
        </page>
    </extension>

    <extension point="org.eclipse.core.runtime.adapters">
        <factory adaptableType="org.jkiss.dbeaver.runtime.DBWorkbench" class="org.jkiss.dbeaver.core.DesktopAdapterFactory">
            <adapter type="org.jkiss.dbeaver.model.app.DBPPlatform"/>
            <adapter type="org.jkiss.dbeaver.runtime.ui.DBPPlatformUI"/>
        </factory>
    </extension>

    <extension point="org.eclipse.ui.themes">

        <!-- Colors for transactions -->
        <themeElementCategory label="%themeElementCategory.org.jkiss.dbeaver.ui.presentation.txn.label" id="org.jkiss.dbeaver.ui.presentation.qm">
            <description>%themeElementCategory.org.jkiss.dbeaver.ui.presentation.txn.description</description>
        </themeElementCategory>

        <colorDefinition
                label="%colorDefinition.org.jkiss.dbeaver.txn.color.committed.background.label"
                categoryId="org.jkiss.dbeaver.ui.presentation.qm"
                id="org.jkiss.dbeaver.txn.color.committed.background"
                value="189, 254, 191">
            <description>%colorDefinition.org.jkiss.dbeaver.txn.color.committed.background.description</description>
        </colorDefinition>
        <colorDefinition
                label="%colorDefinition.org.jkiss.dbeaver.txn.color.reverted.background.label"
                categoryId="org.jkiss.dbeaver.ui.presentation.qm"
                id="org.jkiss.dbeaver.txn.color.reverted.background"
                value="255, 99, 71">
            <description>%colorDefinition.org.jkiss.dbeaver.txn.color.reverted.background.description</description>
        </colorDefinition>
        <colorDefinition
                label="%colorDefinition.org.jkiss.dbeaver.txn.color.transaction.background.label"
                categoryId="org.jkiss.dbeaver.ui.presentation.qm"
                id="org.jkiss.dbeaver.txn.color.transaction.background"
                value="255, 228, 181">
            <description>%colorDefinition.org.jkiss.dbeaver.txn.color.transaction.background.description</description>
        </colorDefinition>

        <!-- Colors for connection types -->
        <themeElementCategory label="%themeElementCategory.org.jkiss.dbeaver.ui.presentation.colors.connectionTypes.label" id="org.jkiss.dbeaver.ui.presentation.colors.connectionTypes">
            <description>%themeElementCategory.org.jkiss.dbeaver.ui.presentation.colors.connectionTypes.description</description>
        </themeElementCategory>

        <colorDefinition
            label="Test"
            categoryId="org.jkiss.dbeaver.ui.presentation.colors.connectionTypes"
            id="org.jkiss.dbeaver.color.connectionType.qa.background"
            value="196,255,181">
            <description>QA/Test/Stage server</description>
        </colorDefinition>
        <colorDefinition
            label="Production"
            categoryId="org.jkiss.dbeaver.ui.presentation.colors.connectionTypes"
            id="org.jkiss.dbeaver.color.connectionType.prod.background"
            value="247,159,129">
            <description>Production server</description>
        </colorDefinition>

    </extension>

    <extension point="org.eclipse.ui.exportWizards">
        <category id="org.jkiss.dbeaver.core.export.resources" name="%category.org.jkiss.dbeaver.core.export.resources.name"/>
        <wizard
             category="org.jkiss.dbeaver.core.export.resources"
             class="org.jkiss.dbeaver.tools.project.ProjectExportWizard"
             icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/project.png"
             id="org.jkiss.dbeaver.core.wizard.export.project"
             name="%wizard.org.jkiss.dbeaver.core.wizard.export.project.name">
           <description>
               %wizard.org.jkiss.dbeaver.core.wizard.export.project.description
           </description>
        </wizard>
        <wizard
             category="org.jkiss.dbeaver.core.export.resources"
             class="org.jkiss.dbeaver.tools.scripts.ScriptsExportWizard"
             icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/sql_script.png"
             id="org.jkiss.dbeaver.core.wizard.export.scripts"
             name="%wizard.org.jkiss.dbeaver.core.wizard.export.scripts.name">
           <description>
               %wizard.org.jkiss.dbeaver.core.wizard.export.scripts.description
           </description>
        </wizard>
    </extension>

    <extension point="org.eclipse.ui.importWizards">
        <category id="org.jkiss.dbeaver.core.import.resources" name="%category.org.jkiss.dbeaver.core.import.resources.name"/>
        <wizard
            category="org.jkiss.dbeaver.core.import.resources"
            class="org.jkiss.dbeaver.tools.project.ProjectImportWizard"
            icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/project.png"
            id="org.jkiss.dbeaver.core.wizard.import.project"
            name="%wizard.org.jkiss.dbeaver.core.wizard.import.project.name">
            <description>
                %wizard.org.jkiss.dbeaver.core.wizard.import.project.description
            </description>
        </wizard>
        <wizard
            category="org.jkiss.dbeaver.core.import.resources"
            class="org.jkiss.dbeaver.tools.scripts.ScriptsImportWizard"
            icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/sql_script.png"
            id="org.jkiss.dbeaver.core.wizard.import.scripts"
            name="%wizard.org.jkiss.dbeaver.core.wizard.import.scripts.name">
            <description>
                %wizard.org.jkiss.dbeaver.core.wizard.import.scripts.description
            </description>
        </wizard>
    </extension>

    <extension point="org.eclipse.ui.newWizards">
        <wizard
             category="org.jkiss.dbeaver.core.new.general"
             class="org.jkiss.dbeaver.ui.dialogs.connection.NewConnectionWizard"
             icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/database.png"
             id="org.jkiss.dbeaver.core.wizard.new.connection"
             name="%wizard.org.jkiss.dbeaver.core.wizard.new.connection.name">
           <description>
               %wizard.org.jkiss.dbeaver.core.wizard.new.connection.description
           </description>
        </wizard>
    </extension>

    <extension point="org.eclipse.help.toc">
       <toc file="docs/help/toc.xml" primary="true">
       </toc>
    </extension>

    <extension point="org.eclipse.help.contexts">
       <contexts plugin="org.jkiss.dbeaver.core" file="docs/help/contexts.xml">
       </contexts>
    </extension>

    <extension point="org.eclipse.ui.keywords">
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.db.general" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.db.general.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.db.dataformat" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.db.dataformat.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.db.qm" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.db.qm.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.editor.binary" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.editor.binary.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.editor.data" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.editor.data.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.editor.content" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.editor.content.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.editor.erd" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.editor.erd.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.editor.sql" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.editor.sql.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.editor.entity" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.editor.entity.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.ui.general" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.ui.general.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.dbeaver" label="dbeaver beaver"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.connection" label="%keyword.org.jkiss.dbeaver.core.keyword.connection"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.resultset.grid" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.resultset.grid.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.pref.resultset.plain.text" label="%keyword.org.jkiss.dbeaver.core.keyword.pref.resultset.plain.text.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.database.connection" label="%keyword.org.jkiss.dbeaver.core.keyword.database.connection.label"/>
        <keyword id="org.jkiss.dbeaver.core.keyword.user.interface" label="%keyword.org.jkiss.dbeaver.core.keyword.user.interface.label"/>

    </extension>

    <!-- DBeaver extensions -->

    <extension point="org.jkiss.dbeaver.objectManager">
        <manager class="org.jkiss.dbeaver.registry.DataSourceDescriptorManager" objectType="org.jkiss.dbeaver.model.DBPDataSourceContainer"/>
    </extension>

    <extension point="org.jkiss.dbeaver.resourceHandler">
        <handler id="default" class="org.jkiss.dbeaver.ui.resources.DefaultResourceHandlerImpl"/>
        <handler id="projects" class="org.jkiss.dbeaver.ui.resources.ProjectHandlerImpl">
            <resourceTypeBinding resourceType="org.eclipse.core.resources.IProject"/>
        </handler>
        <handler id="bookmarks" class="org.jkiss.dbeaver.ui.resources.bookmarks.BookmarksHandlerImpl" name="%resourceHandler.bookmarks.name" managable="true" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/bookmark_folder.png">
            <root folder="Bookmarks"/>
            <contentTypeBinding contentTypeId="org.jkiss.dbeaver.bookmark"/>
        </handler>
        <handler id="shortcuts" class="org.jkiss.dbeaver.ui.resources.shortcuts.ShortcutsHandlerImpl">
            <contentTypeBinding contentTypeId="org.jkiss.dbeaver.shortcut"/>
        </handler>
    </extension>

    <extension point="org.jkiss.dbeaver.ui.propertyConfigurator">
        <propertyConfigurator class="org.jkiss.dbeaver.model.impl.net.SocksProxyImpl" uiClass="org.jkiss.dbeaver.ui.dialogs.net.SocksProxyConfiguratorUI"/>
    </extension>

    <extension point="org.eclipse.e4.ui.css.swt.theme">
        <stylesheet uri="css/e4-dark_dbeaver_prefstyle.css">
            <themeid refid="org.eclipse.e4.ui.css.theme.e4_dark">
            </themeid>
        </stylesheet>
    </extension>

    <extension point="org.jkiss.dbeaver.service">
        <service name="org.jkiss.dbeaver.runtime.ui.UIServiceSQL" class="org.jkiss.dbeaver.ui.editors.sql.UIServiceSQLImpl"/>
        <service name="org.jkiss.dbeaver.runtime.ui.UIServiceConnections" class="org.jkiss.dbeaver.ui.actions.datasource.UIServiceConnectionsImpl"/>
        <service name="org.jkiss.dbeaver.runtime.DBServiceConnections" class="org.jkiss.dbeaver.ui.actions.datasource.UIServiceConnectionsImpl"/>
    </extension>

    <extension point="org.jkiss.dbeaver.pluginService">
        <service class="org.jkiss.dbeaver.ui.actions.GlobalPropertyTester$ResourceListener"/>
        <service class="org.jkiss.dbeaver.ui.actions.DataSourcePropertyTester$QMService"/>
    </extension>

    <extension point="org.jkiss.dbeaver.mavenRepository">
        <repository id="maven-central" name="%maven.respository.central" url="https://repo1.maven.org/maven2/" order="0"/>

        <!-- Non-HTTPS Maven Central is no longer alive. Hooray. -->
<!--
        <repository id="maven-central-unsecure" name="%maven.respository.central.unsecure" url="http://central.maven.org/maven2/" order="99999"/>
-->
    </extension>

    <!-- Perspective -->
    <extension point="org.eclipse.ui.perspectives">
        <perspective
                class="org.jkiss.dbeaver.ui.perspective.DBeaverPerspective"
                icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/dbeaver_perspective.png"
                id="org.jkiss.dbeaver.core.perspective"
                name="%perspective.name">
        </perspective>
    </extension>

    <extension point="org.eclipse.ui.perspectiveExtensions">
        <perspectiveExtension targetID="org.jkiss.dbeaver.core.perspective">
            <hiddenToolBarItem id="org.eclipse.ui.edit.text.gotoNextEditPosition"/>
            <hiddenToolBarItem id="org.eclipse.ui.edit.text.gotoLastEditPosition"/>
        </perspectiveExtension>
    </extension>

</plugin>

redpajama_set_name: RedPajamaGithub


text:
By Brooke Bobb
Coming off of a Fall collection that represented key directional changes for Frame—velvet for suiting, blouses with puffed shoulders, the use of prints—Erik Torstensson and Jens Grede continued to liven things up for Spring. The Swedish designers are always cautious about overdoing it, but this season they seemed to venture into bolder territory (and a new decade too). While the core pieces in Frame are built from styles like A-line skirts and boyfriend jeans made popular in the '70s, it was the neon and logo motifs of the '80s that inspired their latest outing. And what an outing it was: The rainbow hued FRAME moniker was stitched to a tee and sweatshirt and stamped on the cuff of a pair of jeans. It was also woven into a dizzying, color-blocked cropped sweater.
These '80s-inspired pieces were teetering on the edge of mass-trend overindulgence but were nonetheless cute and covetable. Where Torstensson and Grede continue to thrive is their focus on shirting, which brings in nearly 50 percent of their business at the moment. They showed their favorite stripes but ventured into more playful prints including microflorals and tiny insect motifs. Shapes were also updated here with off-the-shoulder silhouettes and exaggerated bell sleeves with lacing. Aside from Torstensson and Grede's expansion in the shirting category, they're also refining their ready-to-wear category with more dresses and suit sets. There was a fun, piercing blue blazer and trouser and a sweet, feminine take on an LBD with a banded waist. As for their famous denim, the designers are using some darker washes, subtle patching techniques, and cuts that range from a belted palazzo to a high-waist flare with a ruffled hem. It's still everyone's favorite Frame, but with a smart little kick.

redpajama_set_name: RedPajamaCommonCrawl


Man versus machine is a common discussion topic in most industries and walks of life. Detractors snigger gleefully as driverless cars collide, meanwhile advocates conjure up images of futuristic fantasies.
Investing's foray into emerging tech is the delivery of "robo advice", a term universally disliked by most it applies to. Regardless, it's a useful descriptor of an online investment service that guides the consumer into ready-made bundles of investments, or portfolios.
Robo advisers are big in the US and Canada and have had some success in Italy and Germany too. Interestingly, in these markets they tend to get great press: they are branded innovators, trail blazers, delivering portfolio management services once reserved for the moneyed few to the masses.
But in the UK there have been many critics, dragging their metaphorical keys down the side of these newcomers' cars.
Although there are varying business models, most robo advisers will ask users a list of straightforward questions and then put you into the portfolio that most closely maps your attitude towards your finances and risk.
One of the key benefits is that they select from a hugely diverse pool of assets from around the globe, typically including a mix of bonds and shares from multiple sectors and industries.
The average investor picking shares tends to diversify pretty badly, and display an acute "home bias", lumping too much into the UK and familiar brands.
Getting an expert to manage this diversification is a great way to try and maximise returns while keeping risk.
Another plus is how robos have focused on clarity and user experience in a way that puts traditional players to shame.
One provider, Nutmeg, is straightforward and clear, while another, Moneyfarm, has a comprehensive risk profiler, easy to complete on a mobile phone.
Evestor and Wealthify are almost enjoyable to use. UK newcomer Wealthsimple has a fresh new approach that will delight non-traditionalists.
Many emerging brands remain unknown and when it comes to signing up and transferring funds electronically, a lack of familiarity can be a step too far for many.
Average account sizes tend to be much lower than the typical DIY portfolio of £53,000. This nervousness is not helped by the process of funding accounts that for some - including eVestor, Moola and Wealthify - can involve making a BACS payment to an unknown entity.
After all the funky names, undoubtedly better websites and nice apps - are they actually any good at investing? This is where it gets a bit tricky to assess.
Firstly, most of these players are new so have very limited track records. Although we're all horribly impatient and can get trigger happy if a given fund has a bad year, we should generally only assess track records after (at the very least) three years and some would say more like seven.
Just six robo advisers in the UK have been running for more than 12 months and so have returns records of a year. IG will join this group shortly. Nutmeg is the only group to have a relatively chunky track record of four years now.
The other problem is that it is head-bangingly difficult to compare like with like. For example, Wealthify's mid-range "Confident" portfolio has 35pc in shares, while Nutmeg's mid-range option has 57pc in shares.
A final challenge is this: we have to look at investment returns in light of the risk taken. Here's an example: imagine you gave me £5,000 to manage. I put it all in a Colombian mining stock that happened to double that year. Well done me! My returns are 100pc but at what risk?
Good investing is as much about managing the downside as well as the upside, but this is far more boring to most people and so tends to get overlooked.
We asked those robos with more than 12 months' track record to share details of their portfolios that behave most like the returns of the FTSE 100 index of UK companies. With all the caveats noted above, we show their 2017 returns here, after fees. Just three beat the FTSE 100 last year.
Perhaps more interesting is to look at the "maximum drawdown" - the most you could have lost in 2017 if you invested at the highest point and sold at the worst time.
You can see that the risk of these robo portfolios is typically much lower than simply having it all in the FTSE 100.
Trying to understand the risk you are taking remains a problem. Cutesy portfolio descriptions such as "Aggressive", "Balanced" or "Defensive" are used inconsistently.
Scalable Capital uses the Value at Risk model - its 12pc portfolio, for example, only has a chance of underperforming by 12pc or more in one year out of every 20 years. It's an arguably clearer way of specifying risk once you get your head around all the double negatives and percentages.
Some of the robos are pretty small - the total assets in this nascent market are around £2.1bn at current valuations. But expect this to become mainstream.
Private banks Investec and UBS have launched versions for private banking clients from minimums of £10,000 and £15,000 respectively.
Bank with HSBC or Santander? Expect to be offered a robo adviser via online banking pages this year.
It's still very hard to make definitive calls about performance when it is such early days. But I think it's a great way to get started for less confident investors and an efficient route to a well-diversified bundle of investments at minimum hassle.
Holly Mackay is the founder and managing director of Boring Money.


Shop for cheap price Hayley Paige Occasions Strappy V-Back Chiffon Halter Gown .Price Low and Options of Hayley Paige Occasions Strappy V-Back Chiffon Halter Gown from variety stores in usa. 2018.
- This Hayley Paige Occasions Strappy V-Back Chiffon Halter Gown is quite excellent, with a lot of like to arrive see you right here recommend. consider to visit and locate it priced truthful get a lot cost-free transport buy. really uncomplicated thanks a great deal.
- To wander via, according towards the section, and basic shops observed that costs right here less expensive, far better good quality Hayley Paige Occasions Strappy V-Back Chiffon Halter Gownshop many uncomplicated-to-use providers and make contact with me buy below and thus on. nicely then, would you inform a colleague. almost all of this quantity.
- simple, swift conserve you are able to evaluate costs and purchase other Hayley Paige Occasions Strappy V-Back Chiffon Halter Gown offered quickly. cozy.
If you find product , Deals.If at the time will discount more Savings So you already decide you want have Hayley Paige Occasions Strappy V-Back Chiffon Halter Gown for your, but you don't know where to get the best price for this Hayley Paige Occasions Strappy V-Back Chiffon Halter Gown . We already done the research and spend a lot of time for you. Hayley Paige Occasions Strappy V-Back Chiffon Halter Gown to find out where to get the best deal on Hayley Paige Occasions Strappy V-Back Chiffon Halter Gown.
If the Hayley Paige Occasions Strappy V-Back Chiffon Halter Gown is integrated that you must have, be sure to order now to stay away from disappointment Click on right here to find out exactly where to get the very best deal on Hayley Paige Occasions Strappy V-Back Chiffon Halter Gown.


Geocognition research into how people make decisions about the planet could save lives. Although many people may not realize it, the geosciences are vitally important to our society – for examples, geoscientists find the precious metals that we need for modern technology, find clean water and identify sources of water contamination, predict the impacts of climate change from coastal communities to the high mountains, and investigate the myriad natural hazards that exist on the planet. If only the geosciences were a bigger part of our high school curriculum…perhaps people would have a better understanding of what to do during and after an earthquake, a tornado, or a flash flood. These natural hazards can be dangerous, but good decision-making can make the difference between life and death.


Simple lentigos are very common, particularly in those with red hair and fair skin. They usually appear during childhood and increase in number until the age of 40. The majority of lentigines remain unchanged in adult life.
Lentigines are hyperpigmented macules that do not fade away in the absence of UV exposure. Lentigines are poorly circumscribed, uniformly pigmented macules, with a round or oval shape and a diameter of up to 5 mm. There may be slight scaling of the surface, and several neighbouring lesions may coalesce. Their colour is pale to deep brown, depending on the skin colour of the individual. They are primarily located on photo‐exposed areas as they are part of the spectrum of lesions (ephelides, simple lentigos, solar lentigos) resulting from excessive UV exposure.
As the majority arise in sun‐exposed areas, photoprotection could decrease the rate of new lesions developing. For cosmetic reasons, a variety of depigmenting topical agents and dermatological procedures such as chemical peels, lasers and photodynamic therapy reduces their pigmentation. In patients with multiple lentigines arising early in life on non‐sun‐exposed sites, the possibility of a hereditary multisystem syndrome should be considered. In the very rare cases of generalized lentiginoses, individuals may be at increased risk for melanoma, and thus should be educated on avoidance of sunburn and self skin examination.
A solar lentigo is a brown macule appearing after excessive sun exposure. The number of solar lentigines keep increasing with age. Solar lentigines are associated with both intermittent and chronic sun exposure. Solar lentigines on the back have also been associated with a history of sunburns before the age of 20 years, while facial solar lentigines have been associated with cutaneous signs of photodamage.
Solar lentigines are also seen on older, fair‐skinned patients who have had excessive sun exposure. The backs of the hands and the face are common sites. Once again the lesions are large and macular, have an irregular edge and are usually a uniform shade of brown.
Patients often request treatment for these pigmented lesions located in visible body areas such as the face and back of hands.
Rigorous photoprotection with sun avoidance, use of a broad spectrum and high sun‐protection‐factor sunscreen, and appropriate clothing lowers the possibility of further lesions emerging in the future, and may also result in some degree of spontaneous resolution.
Orion Aesthetics uses Q Switched Nd:YAG to selectively destroy the excess melanin pigment in the epidermis.


text:
Q: how to access RESTful parameters from ZK GenericForwardComposer when using Spring MVC i'm working on a project using zk and spring.Basically Spring manages object life-cycle of the objects.i've planned to use cute url.for that i used ZK MVC pattern and added Spring 3 MVC front controller by mapping the requests to the views using mvc:view-controller
<mvc:view-controller path="/" view-name="home"/>

There has been a situation where i would need to access parameters from the cute url (RESTful)
but i couldn't find how to use that.I think also that my fear is to complicate the whole project my mixing the 2 MVC patterns.I posted here on ZK forun but i got no answer so far.I ended up using session for parameter passing.
Is there any way to do that? how would you do that?
thanks for reading.

A: Have you looked at ZEST yet? My understanding is you can use ZEST for beautifying your urls to ZUML/JSP pages and let ZK MVC take care of the Ajax events.

redpajama_set_name: RedPajamaStackExchange


Before an inventor sits down to contemplate the engineering of a new invention and blueprint the mechanics, he or she must first have the idea. The inventor must have the vision of what he wants to create.
But where do such ideas come from?
Often, the idea may come from a need of some sort, i.e., a solution to an existing problem. For example, Émile Gagnan and Jacques-Yves Cousteau wanted to breathe underwater, so they invented the first scuba set as a solution. But other times, the idea may come from a less pragmatic source – the imagination.
The ideas of science fiction fall under this imaginary realm. Science fiction doesn't serve any direct purpose, other than entertainment, yet science fiction authors first imagined numerous inventions that prove so vital in today's society. While science fiction's inventions do not contain actual blueprints or instructions for constructing their novel ideas, they do present the ideas, which in turn inspire other inventors to manifest the author's speculations.
Science fiction's role in society is to entertain and inspire. Here are 8 inventions inspired by science fiction that changed our world forever.
Jules Verne is often referred to as the "father of science fiction." Given the breadth of Verne's work, this list could easily only focus on the inventions derived from his work. His most famous novels include: Journey to the Center of the Earth, From the Earth to the Moon, Around the World in Eighty Days, and Twenty Thousand Leagues Under the Sea.
In Twenty Thousand Leagues Under the Sea, Verne imagined a great underwater ship called the Nautilus, led by Captain Nemo. The submarine was powered by electricity and contained a grand ballroom and organ.
Verne's vision of the Nautilus was so concrete that he inspired a lifelong interest of undersea exploration in the American inventor, Simon Lake. Lake first read Verne's work as a boy, which inspired him to invent his own submarine called the Argonaut. In 1898, Verne wrote Lake a letter of congratulations on his invention, which made Lake ecstatic.
The original Star Trek series, although cancelled after only three seasons, lived a long life in re-runs, inspiring a generation of kids and adults. One of the most famous Star Trek gadgets was the "communicator," which was a wireless phone that looks strikingly similar to many of today's cell phones.
Martin Cooper, who oversaw the invention of the first mobile phone in the 70's, has directly credited the Star Trek communicator for inspiring his vision.
In 1920, Czech author Karel Capek, predicted the existence of sentient robots in his play R.U.R, or Rossum's Universal Robots.
In Capek's play, the classic sci-fi tale of artificial intelligence unfurls. The robots are first used as free, slave labor. But eventually, they gain sentience and rise up, fighting back against their human creators.
Given recent developments with Google's Deep Mind, which has been demonstrating an understanding of betrayal, we may not be too far off from our own robot uprising.
Tom Swift was the protagonist in a series of science-fiction books written for children in the early 1900's. The series was influential to a generation of science-minded folk including Steve Wozniak and Isaac Asimov.
Numerous ghostwriters working under the pseudonym "Victor Appleton" authored the series.
After attending the 1964 Worlds Fair, the great science fiction writer Isaac Asimov penned an article for the New York Times imagining what inventions would be on display at the World's Fair in fifty years.
In his essay, he hypothesized "robot-brain" cars, capable of self-driving. Fifty some years later in 2017, Asimov's prediction is eerily on point.
Major global companies such as Google, Uber, Lyft, Tesla, and Apple are all working towards becoming the first to sell self-driving vehicles to the public.
Yup, another invention from the great Star Trek writers. In the original series, the Enterprise contained a tool called the replicator. This device is essentially a 3-D printer capable of creating meals on demand and many other objects.
While the 3-D printer has yet to become a household item, it has evolved from the realm of dreams to a reality.
Ah yes, H.G. Wells once again. This time, it's not a gadget Wells inspired but atomic power.
Wells first broached the idea of atomic power in his 1913 novel, The World Set Free. His vision inspired scientist Leo Szilard, twenty years later, to create a nuclear reaction, which led to the atom bomb.
While Wells definitely envisioned a greater use for atomic power than a bomb, it's still a testament to his foresight and imagination.
We hope this list of inventions inspired by science fiction inspires you to create your own novel ideas and inventions. Good luck!


Just released! Check out the video for "Disbelief" from our second album and let us know what you think!
http://juantanamos.com/wp-content/uploads/2016/07/logo_juantanamos-logo-final-2014-white-on-transparent.png 0 0 The Juantanamos http://juantanamos.com/wp-content/uploads/2016/07/logo_juantanamos-logo-final-2014-white-on-transparent.png The Juantanamos2018-07-13 12:00:112018-09-19 13:39:17Watch Our New Video!