plugin.xml 44.5 KB
Newer Older
L
LonwoLonwo 已提交
1 2 3 4
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<!--
 * DBeaver - Universal Database Manager
S
serge-rider 已提交
5
 * Copyright (C) 2010-2021 DBeaver Corp and others
L
LonwoLonwo 已提交
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
 * Copyright (C) 2017 Andrew Khitrin (ahitrin@gmail.com)
 *
 * 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>

    <extension
        point="org.jkiss.dbeaver.dataSourceProvider">
        <datasource
            class="org.jkiss.dbeaver.ext.oracle.OracleDataSourceProvider"
            description="Oracle connector"
            icon="icons/oracle_icon.png"
            id="oracle"
            label="Oracle"
            dialect="oracle">
            <tree
                  icon="icons/oracle_icon.png"
                  label="Oracle data source"
                  path="oracle">
                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleSchema" label="%tree.schemas.node.name" icon="#folder_schema" description="Database schemas">
                    <items label="%tree.schema.node.name" path="schema" property="schemas" icon="#schema">
                        <icon if="object.system" icon="#schema_system"/>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTable" label="%tree.tables.node.name" icon="#folder_table" description="Tables">
                            <items label="%tree.table.node.name" path="table" property="tables" icon="#table">
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableColumn" label="%tree.columns.node.name" icon="#columns" description="Table columns">
                                    <items label="%tree.column.node.name" path="column" property="attributes" icon="#column">
                                    </items>
                                </folder>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableConstraint" label="%tree.constraints.node.name" icon="#constraints" description="Table constraints">
                                    <items label="%tree.constraint.node.name" path="constraint" property="constraints" icon="#unique-key">
                                        <items label="%tree.constraint_columns.node.name" path="column" property="attributeReferences" navigable="false" inline="true">
                                        </items>
                                    </items>
                                </folder>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableForeignKey" label="%tree.foreign_keys.node.name" icon="#foreign-keys" description="Table foreign keys">
                                    <items label="%tree.foreign_key.node.name" path="association" property="associations" icon="#foreign-key">
                                        <items label="%tree.foreign_key_columns.node.name" itemLabel="%tree.column.node.name" path="column" property="attributeReferences" navigable="false" inline="true">
                                        </items>
                                    </items>
                                </folder>
                                <folder label="%tree.references.node.name" icon="#references" description="Table references" virtual="true">
                                    <items label="%tree.reference_key.node.name" path="referenceKey" property="references" icon="#reference" virtual="true">
                                        <items label="%tree.reference_key_columns.node.name" itemLabel="%tree.column.node.name" path="column" property="attributeReferences" navigable="false" inline="true" virtual="true">
                                        </items>
                                    </items>
                                </folder>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableTrigger" label="%tree.triggers.node.name" icon="#triggers" description="Triggers">
                                    <items label="%tree.trigger.node.name" path="trigger" property="triggers" icon="#trigger">
                                        <items label="%tree.columns.node.name" itemLabel="%tree.column.node.name" path="column" property="columns" navigable="false" inline="false">
                                        </items>
                                    </items>
                                </folder>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableIndex" label="%tree.indexes.node.name" icon="#indexes" description="Table indexes">
                                    <items label="%tree.index.node.name" path="index" property="indexes" icon="#index">
                                        <items label="%tree.index_columns.node.name" itemLabel="%tree.column.node.name" path="column" property="attributeReferences" navigable="false" inline="true">
                                        </items>
                                    </items>
                                </folder>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePartitionBase" label="%tree.partitions.node.name" icon="#partitions" description="Table partitions">
                                    <items label="%tree.partition.node.name" path="partition" property="partitions" icon="#partition">
                                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePartitionBase" label="%tree.subpartitions.node.name" icon="#partitions" description="tree.subpartitions.node.name">
                                            <items label="%tree.subpartitions.node.name" itemLabel="%tree.subpartition.node.name" path="subpartition" property="subPartitions" navigable="false" inline="true">
                                            </items>
                                        </folder>
                                    </items>
                                </folder>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePrivTable" label="%tree.table_privileges.node.name" icon="#permissions" description="Table Privileges" navigable="false">
                                    <items label="%tree.privilege.node.name" path="tablePrivs" property="tablePrivs" icon="#privilege">
                                    </items>
                                </folder>
S
ShadelessFox 已提交
87
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDependency" label="%tree.dependencies.node.name" description="Table dependency/dependent objects">
S
ShadelessFox 已提交
88
                                    <items label="%tree.dependency.node.name" path="dependency" property="dependencies" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/file/link.png">
S
ShadelessFox 已提交
89
                                        <items label="%tree.dependencies.node.name" path="entry" property="entries" navigable="false" inline="true">
90
                                        </items>
91 92
                                    </items>
                                </folder>
L
LonwoLonwo 已提交
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
                            </items>
                        </folder>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleView" label="%tree.views.node.name" icon="#folder_view" description="Views">
                            <items label="%tree.view.node.name" path="view" property="views" icon="#view">
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableColumn" label="%tree.columns.node.name" icon="#columns" description="View columns">
                                    <items label="%tree.columns.node.name" itemLabel="%tree.column.node.name" path="column" property="attributes" icon="#column">
                                    </items>
                                </folder>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableConstraint" label="%tree.constraints.node.name" icon="#constraints" description="View constraints">
                                    <items label="%tree.constraint.node.name" path="constraint" property="constraints" icon="#unique-key">
                                        <items label="%tree.constraint.node.name columns" path="column" property="attributeReferences" navigable="false" inline="true">
                                        </items>
                                    </items>
                                </folder>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableTrigger" label="%tree.triggers.node.name" icon="#triggers" description="Triggers">
                                    <items label="%tree.trigger.node.name" path="trigger" property="triggers" icon="#trigger">
                                        <items label="%tree.columns.node.name" itemLabel="%tree.column.node.name" path="column" property="columns" navigable="false" inline="false">
                                        </items>
                                    </items>
                                </folder>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePrivTable" label="%tree.table_privileges.node.name" icon="#permissions" description="View Privileges" navigable="false">
                                    <items label="%tree.privilege.node.name" path="tablePrivs" property="tablePrivs" icon="#privilege">
                                    </items>
                                </folder>
S
ShadelessFox 已提交
117
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDependency" label="%tree.dependencies.node.name" description="Table dependency/dependent objects">
S
ShadelessFox 已提交
118
                                    <items label="%tree.dependency.node.name" path="dependency" property="dependencies" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/file/link.png">
S
ShadelessFox 已提交
119
                                        <items label="%tree.dependencies.node.name" path="entry" property="entries" navigable="false" inline="true">
120
                                        </items>
121 122
                                    </items>
                                </folder>
L
LonwoLonwo 已提交
123 124 125 126
                            </items>
                        </folder>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleMaterializedView" label="%tree.materialized_views.node.name" icon="#folder_view" description="Materialized Views">
                            <items label="%tree.materialized_view.node.name" path="view" property="materializedViews" icon="#view">
127 128 129 130 131 132 133 134 135 136
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableColumn" label="%tree.columns.node.name" icon="#columns" description="View columns">
                                    <items label="%tree.columns.node.name" itemLabel="%tree.column.node.name" path="column" property="attributes" icon="#column">
                                    </items>
                                </folder>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableConstraint" label="%tree.constraints.node.name" icon="#constraints" description="View constraints">
                                    <items label="%tree.constraint.node.name" path="constraint" property="constraints" icon="#unique-key">
                                        <items label="%tree.constraint.node.name columns" path="column" property="attributeReferences" navigable="false" inline="true">
                                        </items>
                                    </items>
                                </folder>
L
LonwoLonwo 已提交
137 138
                            </items>
                        </folder>
139
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableIndex" label="%tree.indexes.node.name" icon="#indexes" description="%tree.indexes.node.tip">
S
#8975  
SA357 已提交
140 141 142 143 144
                            <items icon="#index" label="%tree.index.node.name" path="index" property="indexes" virtual="true">
                                <items icon="#column" label="%tree.index_columns.node.name" itemLabel="%tree.column.node.name" path="column" property="attributeReferences" inline="true" navigable="false" virtual="true">
                                </items>
                            </items>
                        </folder>
L
LonwoLonwo 已提交
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleSequence" label="%tree.sequences.node.name" icon="#sequences" description="Sequences">
                            <items label="%tree.sequence.node.name" path="sequence" property="sequences" icon="#sequence">
                            </items>
                        </folder>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleQueue" label="%tree.queues.node.name" description="Queues">
                            <items label="%tree.queue.node.name" path="queues" property="queues">
                            </items>
                        </folder>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDataType" label="%tree.types.node.name" icon="#data_types" description="Types">
                            <items label="%tree.type.node.name" path="type" property="dataTypes" icon="#data_type">
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDataTypeAttribute" label="%tree.attributes.node.name" icon="#attributes" description="Type attributes" visibleIf="object.hasAttributes()">
                                    <items label="%tree.attribute.node.name" path="attribute" property="attributes" icon="#attribute"/>
                                </folder>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDataTypeMethod" label="%tree.methods.node.name" icon="#procedures" description="Type methods" visibleIf="object.hasMethods()">
                                    <items label="%tree.method.node.name" path="method" property="methods" icon="#procedure">
                                        <items label="%tree.arguments.node.name" itemLabel="%tree.argument.node.name" path="parameter" property="parameters" icon="#argument" navigable="false" inline="false">
                                        </items>
                                    </items>
                                </folder>
                            </items>
                        </folder>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePackage" label="%tree.packages.node.name" icon="#packages" description="Packages">
                            <items label="%tree.package.node.name" path="package" property="packages" icon="#package">
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
                                <items label="%tree.procedures.node.name" itemLabel="%tree.procedure.node.name" path="procedure" property="proceduresOnly" icon="#procedure" visibleIf="object.dataSource.isAtLeastV10()">
                                    <handler action="open" command="org.jkiss.dbeaver.ext.oracle.code.package.navigate"/>
                                    <!-- Proc arguments. Not inline because arguments reading is expensive -->
                                    <items label="%tree.arguments.node.name" itemLabel="%tree.argument.node.name" path="argument" property="parameters" icon="#argument" navigable="false" inline="false">
                                        <items label="%tree.attributes.node.name" itemLabel="%tree.attribute.node.name" path="attribute" property="attributes" icon="#attribute" navigable="false" inline="true" id="ProcedureArgumentAttributes" visibleIf="object.hasAttributes()">
                                            <items ref="ProcedureArgumentAttributes"/>
                                        </items>
                                    </items>
                                    <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDependency" label="%tree.dependencies.node.name" description="Procedure dependency/dependent objects">
                                        <items label="%tree.dependency.node.name" path="dependency" property="dependencies" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/file/link.png">
                                            <items label="%tree.dependencies.node.name" path="entry" property="entries" navigable="false" inline="true">
                                            </items>
                                        </items>
                                    </folder>
                                </items>
                                <items label="%tree.functions.node.name" itemLabel="%tree.function.node.name" path="function" property="functionsOnly" icon="#function" visibleIf="object.dataSource.isAtLeastV10()">
L
LonwoLonwo 已提交
184 185 186 187 188 189 190
                                    <handler action="open" command="org.jkiss.dbeaver.ext.oracle.code.package.navigate"/>
                                    <!-- Proc arguments. Not inline because arguments reading is expensive -->
                                    <items label="%tree.arguments.node.name" itemLabel="%tree.argument.node.name" path="argument" property="parameters" icon="#argument" navigable="false" inline="false">
                                        <items label="%tree.attributes.node.name" itemLabel="%tree.attribute.node.name" path="attribute" property="attributes" icon="#attribute" navigable="false" inline="true" id="ProcedureArgumentAttributes" visibleIf="object.hasAttributes()">
                                            <items ref="ProcedureArgumentAttributes"/>
                                        </items>
                                    </items>
S
ShadelessFox 已提交
191
                                    <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDependency" label="%tree.dependencies.node.name" description="Procedure dependency/dependent objects">
192 193 194 195 196
                                        <items label="%tree.dependency.node.name" path="dependency" property="dependencies" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/file/link.png">
                                            <items label="%tree.dependencies.node.name" path="entry" property="entries" navigable="false" inline="true">
                                            </items>
                                        </items>
                                    </folder>
L
LonwoLonwo 已提交
197
                                </items>
S
ShadelessFox 已提交
198
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDependency" label="%tree.dependencies.node.name" description="Table dependency/dependent objects">
S
ShadelessFox 已提交
199
                                    <items label="%tree.dependency.node.name" path="dependency" property="dependencies" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/file/link.png">
S
ShadelessFox 已提交
200
                                        <items label="%tree.dependencies.node.name" path="entry" property="entries" navigable="false" inline="true">
201
                                        </items>
202 203
                                    </items>
                                </folder>
L
LonwoLonwo 已提交
204 205
                            </items>
                        </folder>
S
ShadelessFox 已提交
206
                        <folder id="procedures" type="org.jkiss.dbeaver.ext.oracle.model.OracleProcedureStandalone" label="%tree.procedures.node.name" icon="#procedures" description="Procedures">
207
                            <items label="%tree.procedure.node.name" itemLabel="%tree.procedure.node.name" path="procedure" property="proceduresOnly" icon="#procedure" id="Procedure">
L
LonwoLonwo 已提交
208 209 210
                                <items label="%tree.arguments.node.name" itemLabel="%tree.argument.node.name" path="argument" property="parameters" icon="#argument" navigable="false" inline="false">
                                    <items ref="ProcedureArgumentAttributes"/>
                                </items>
S
ShadelessFox 已提交
211
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDependency" label="%tree.dependencies.node.name" description="Procedure dependency/dependent objects">
212
                                    <items label="%tree.dependency.node.name" path="dependency" property="dependencies" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/file/link.png">
213 214 215 216 217 218
                                        <items label="%tree.dependencies.node.name" path="entry" property="entries" navigable="false" inline="true">
                                        </items>
                                    </items>
                                </folder>
                            </items>
                        </folder>
S
ShadelessFox 已提交
219
                        <folder id="functions" type="org.jkiss.dbeaver.ext.oracle.model.OracleProcedureStandalone" label="%tree.functions.node.name" icon="#functions" description="Functions">
220 221 222 223 224 225
                            <items label="%tree.function.node.name" itemLabel="%tree.function.node.name" path="function" property="functionsOnly" icon="#function" id="Function">
                                <items label="%tree.arguments.node.name" itemLabel="%tree.argument.node.name" path="argument" property="parameters" icon="#argument" navigable="false" inline="false">
                                    <items ref="ProcedureArgumentAttributes"/>
                                </items>
                                <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDependency" label="%tree.dependencies.node.name" description="Function dependency/dependent objects">
                                    <items label="%tree.dependency.node.name" path="dependency" property="dependencies" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/file/link.png">
226 227 228 229
                                        <items label="%tree.dependencies.node.name" path="entry" property="entries" navigable="false" inline="true">
                                        </items>
                                    </items>
                                </folder>
L
LonwoLonwo 已提交
230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250
                            </items>
                        </folder>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleSynonym" label="%tree.synonyms.node.name" icon="#synonyms" description="Synonyms">
                            <items label="%tree.synonym.node.name" path="synonym" property="synonyms" icon="#synonym"/>
                        </folder>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleSchemaTrigger" label="%tree.schema.triggers.node.name" icon="#triggers" description="Schema and database level triggers">
                            <items label="%tree.trigger.node.name" path="trigger" property="triggers" icon="#trigger">
                            </items>
                        </folder>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTableTrigger" label="%tree.table.triggers.node.name" icon="#triggers" description="Table triggers">
                            <items label="%tree.table.trigger.node.name" path="tabletrigger" property="tableTriggers" icon="#trigger">
                                <items label="%tree.columns.node.name" itemLabel="%tree.column.node.name" path="column" property="columns" navigable="false" inline="false" virtual="true">
                                </items>
                            </items>
                        </folder>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDBLink" label="%tree.database_links.node.name" icon="#folder_link" description="Database Links (DBLinks)">
                            <items label="%tree.database_links.node.name" path="databaseLink" property="databaseLinks" icon="#link"/>
                        </folder>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleJavaClass" label="Java" icon="#java" description="Java Classes">
                            <items label="Java Class" path="class" property="javaClasses" icon="#javaClass"/>
                        </folder>
251 252 253
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleJob" label="Jobs" icon="#scheduler_job_folder" description="Jobs">
                            <items label="Job" path="job" property="jobs" icon="icons/scheduled_job.png"/>
                        </folder>
L
LonwoLonwo 已提交
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
                        <folder label="%tree.scheduler.node.name" icon="#scheduler_folder" description="Scheduler objects">
                            <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob" label="%tree.scheduler.jobs.node.name" icon="#scheduler_job_folder" description="Scheduler jobs">
                                <items label="%tree.scheduler.job.node.name" path="schedulerJob" property="schedulerJobs" icon="icons/scheduled_job.png">
                                    <items label="%tree.scheduler.job.arguments.node.name" itemLabel="%tree.scheduler.job.argument.node.name" path="argument" property="arguments" icon="#argument" navigable="false" inline="false"/>
                                </items>
                            </folder>
                            <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerProgram" label="%tree.scheduler.programs.node.name" icon="#scheduler_program_folder" description="Scheduler programs">
                                <items label="%tree.scheduler.program.node.name" path="schedulerProgram" property="schedulerPrograms" icon="icons/scheduled_program.png">
                                    <items label="%tree.scheduler.program.arguments.node.name" itemLabel="%tree.scheduler.program.argument.node.name" path="argument" property="arguments" icon="#argument" navigable="false" inline="false"/>
                                </items>
                            </folder>
                        </folder>
                        <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleRecycledObject" label="%tree.recycle_bin.node.name" icon="#recycle_bin" description="Recycle Bin" visibleIf="object.dataSource.adminVisible &amp;&amp; object.dataSource.isAtLeastV10()">
                            <items label="%tree.recycled_object.node.name" path="object" property="recycledObjects" icon="#recycle_bin"/>
                        </folder>
                    </items>
                </folder>
S
serge-rider 已提交
271
                <folder label="%tree.global_metadata.node.name" icon="#logical" description="Global metadata objects">
L
LonwoLonwo 已提交
272 273 274 275 276 277 278 279 280 281 282 283 284
                    <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDataType" label="%tree.types.node.name" icon="#data_types" description="Types">
                        <items label="%tree.data_type.node.name" path="type" property="localDataTypes" icon="#data_type"/>
                    </folder>
                    <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleSynonym" label="%tree.public_synonyms.node.name" icon="#synonyms" description="Public synonyms">
                        <items label="%tree.synonym.node.name" path="synonym" property="publicSynonyms" icon="#synonym"/>
                    </folder>
                    <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDBLink" label="%tree.public_database_links.node.name" icon="#links" description="Public database links">
                        <items label="%tree.database_link.node.name" path="databaseLink" property="publicDatabaseLinks" icon="#link"/>
                    </folder>
                    <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleRecycledObject" label="%tree.user_recycle_bin.node.name" icon="#recycle_bin" description="Current user's recycle bin">
                        <items label="%tree.recycled_object.node.name" path="object" property="userRecycledObjects" icon="#recycle_bin"/>
                    </folder>
                </folder>
S
serge-rider 已提交
285
                <folder label="%tree.storage.node.name" icon="#storage" description="Storage management">
L
LonwoLonwo 已提交
286 287 288 289 290 291 292 293 294 295 296
                    <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleTablespace" label="%tree.tablespaces.node.name" icon="#tablespaces" description="Tablespaces">
                        <items label="%tree.tablespace.node.name" path="tablespace" property="tablespaces" icon="#tablespace">
                            <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleDataFile" label="%tree.files.node.name" icon="#files" description="Data Files">
                                <items label="%tree.file.node.name" path="file" property="files" icon="#file"/>
                            </folder>
                            <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleSegment" label="%tree.objects.node.name" icon="#segments" description="Objects (segments)">
                                <items label="%tree.segment.node.name" path="segment" property="segments" icon="#segment"/>
                            </folder>
                        </items>
                    </folder>
                </folder>
S
serge-rider 已提交
297
                <folder label="%tree.security.node.name" icon="#security" description="Security management">
L
LonwoLonwo 已提交
298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339
                    <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleUser" label="%tree.users.node.name" icon="#folder_user" description="Users">
                        <items label="%tree.user.node.name" path="users" property="users" icon="#user">
                            <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePrivRole" label="%tree.roles.node.name" icon="#folder_role" description="User roles" navigable="false">
                                <items label="%tree.role.node.name" path="roles" property="rolePrivs" icon="#user_group">
                                </items>
                            </folder>
                            <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePrivSystem" label="%tree.system_privileges.node.name" icon="#permissions" description="System Privileges" navigable="false">
                                <items label="%tree.privilege.node.name" path="sysPrivs" property="systemPrivs" icon="#privilege">
                                </items>
                            </folder>
                            <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePrivObject" label="%tree.objects.node.name" icon="#permissions" description="Objects" navigable="false">
                                <items label="%tree.privilege.node.name" path="objectPriv" property="objectPrivs" icon="#privilege">
                                </items>
                            </folder>
                        </items>
                    </folder>
                    <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleRole" label="%tree.roles.node.name" icon="#folder_role" description="Roles">
                        <items label="%tree.role.node.name" path="roles" property="roles" icon="#user_group">
                            <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePrivUser" label="%tree.users.node.name" icon="#folder_user" description="Users" navigable="false">
                                <items label="%tree.user.node.name" path="userPrivs" property="userPrivs" icon="#user">
                                </items>
                            </folder>
                            <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePrivRole" label="%tree.roles.node.name" icon="#folder_role" description="Roles" navigable="false">
                                <items label="%tree.role.node.name" path="roles" property="rolePrivs" icon="#user_group">
                                </items>
                            </folder>
                            <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePrivSystem" label="%tree.system_privileges.node.name" icon="#permissions" description="System Privileges" navigable="false">
                                <items label="%tree.privilege.node.name" path="sysPrivs" property="systemPrivs" icon="#privilege">
                                </items>
                            </folder>
                            <folder type="org.jkiss.dbeaver.ext.oracle.model.OraclePrivObject" label="%tree.objects.node.name" icon="#permissions" description="Objects" navigable="false">
                                <items label="%tree.privilege.node.name" path="objectPriv" property="objectPrivs" icon="#privilege">
                                </items>
                            </folder>
                        </items>
                    </folder>
                    <folder type="org.jkiss.dbeaver.ext.oracle.model.OracleUserProfile" label="%tree.profiles.node.name" icon="#folder_profile" description="User profiles">
                        <items label="%tree.profile.node.name" path="profiles" property="profiles" icon="#profile">
                            <items label="%tree.resource.node.name" path="resource" property="resources" icon="#resource"/>
                        </items>
                    </folder>
                </folder>
S
serge-rider 已提交
340
                <folder label="%tree.administer.node.name" icon="#folder_admin" description="Maintenance/Settings">
L
LonwoLonwo 已提交
341 342 343 344 345 346 347 348 349 350 351 352 353
                    <treeContribution category="connectionEditor"/>
                </folder>

            </tree>

            <drivers managable="true">
                <driver
                    id="oracle_thin"
                    label="Oracle"
                    class="oracle.jdbc.OracleDriver"
                    sampleURL="jdbc:oracle:thin:@{host}[:{port}]/{database}"
                    useURL="false"
                    defaultPort="1521"
354 355
                    defaultDatabase="ORCL"
                    defaultUser="system"
S
serge-rider 已提交
356
                    customEndpoint="true"
L
LonwoLonwo 已提交
357 358 359 360 361 362 363 364 365 366 367 368 369
                    webURL="https://www.oracle.com/technetwork/database/features/jdbc/"
                    icon="icons/oracle_icon.png"
                    iconBig="icons/oracle_icon_big.png"
                    propertiesURL="https://docs.oracle.com/cd/B19306_01/java.102/b14355/urls.htm#i1070726"
                    description="%driver.oracle.description"
                    promoted="1"
                    categories="sql">
                    <replace provider="generic" driver="oracle"/>
                    <replace provider="oracle" driver="oracle"/>
                    <replace provider="oracle" driver="oracle_oci"/>

                    <property name="loginTimeout" value="20"/>
                    <property name="useFetchSizeWithLongColumn" value="true"/>
370 371
                    <!-- Disable FAN events: #9002 -->
                    <property name="oracle.jdbc.fanEnabled" value="false"/>
L
LonwoLonwo 已提交
372 373 374 375 376 377 378 379

                    <file type="jar" path="maven:/com.oracle.database.jdbc:ojdbc8:RELEASE[12.2.0.1]" bundle="!drivers.oracle"/>
                    <file type="jar" path="maven:/com.oracle.database.nls:orai18n:RELEASE[12.2.0.1]" bundle="!drivers.oracle"/>
                    <file type="jar" path="maven:/com.oracle.database.xml:xdb6:RELEASE[12.2.0.1]" bundle="!drivers.oracle"/>
                    <file type="jar" path="maven:/com.oracle.database.xml:xmlparserv2:RELEASE[12.2.0.1]" bundle="!drivers.oracle"/>

                    <file type="license" path="drivers/oracle/LICENSE.txt" bundle="drivers.oracle"/>
                    <file type="jar" path="drivers/oracle" bundle="drivers.oracle"/>
S
Serge Rider 已提交
380 381 382 383

                    <provider-properties>
                        <propertyGroup label="Misc">
                            <property id="@dbeaver-sid-service@" label="Service type" type="string" description="Database type" defaultValue="SID" validValues="SID,SERVICE"/>
S
Serge Rider 已提交
384
                            <property id="oracle.logon-as" label="Role" type="string" description="Connect as role" defaultValue="NORMAL" validValues="NORMAL,SYSDBA,SYSOPER"/>
S
Serge Rider 已提交
385 386 387
                        </propertyGroup>
                    </provider-properties>

L
LonwoLonwo 已提交
388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
                </driver>
            </drivers>
            <templates>
                <resolver type="orauser" class="org.jkiss.dbeaver.ext.oracle.model.resolvers.OracleUserResolver" description="Current Oracle user"/>
            </templates>
        </datasource>
    </extension>

    <extension point="org.jkiss.dbeaver.objectManager">
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleDataTypeManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleDataType"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleSchemaManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleSchema"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleTableManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleTable"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleTableColumnManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleTableColumn"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleForeignKeyManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleTableForeignKey"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleConstraintManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleTableConstraint"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleIndexManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleTableIndex"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleViewManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleView"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleMaterializedViewManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleMaterializedView"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleProcedureManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleProcedureStandalone"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleQueueManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleQueue"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OraclePackageManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OraclePackage"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleTableTriggerManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleTableTrigger"/>
        <manager class="org.jkiss.dbeaver.ext.oracle.edit.OracleSequenceManager" objectType="org.jkiss.dbeaver.ext.oracle.model.OracleSequence"/>
    </extension>
    
    <extension point="org.jkiss.dbeaver.dataTypeProvider">
        <provider
            class="org.jkiss.dbeaver.ext.oracle.data.OracleValueHandlerProvider"
            description="Oracle data types provider"
            id="org.jkiss.dbeaver.ext.oracle.data.OracleValueHandlerProvider"
            label="Oracle data types provider">

            <datasource id="oracle"/>

            <type name="XMLTYPE"/>
            <type name="SYS.XMLTYPE"/>
S
Serge Rider 已提交
424
            <type name="REFCURSOR"/>
425
            <type name="REF CURSOR"/>
L
LonwoLonwo 已提交
426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442
            <type kind="CONTENT"/>
            <type kind="DATETIME"/>
            <type name="TIMESTAMP"/>
            <type name="TIMESTAMP WITH TZ"/>
            <type name="TIMESTAMP WITH LOCAL TZ"/>
            <type name="TIMESTAMP WITH TIME ZONE"/>
            <type name="TIMESTAMP WITH LOCAL TIME ZONE"/>
            <!--<type standard="STRUCT"/>--> <!-- Struct disabled to allow exact object types mappings, e.g. geometries -->

        </provider>
    </extension>

    <extension point="org.jkiss.dbeaver.dataSourceAuth">
        <authModel
                id="oracle_native"
                label="Database Native"
                description="Oracle native authentication (name/password)"
S
Serge Rider 已提交
443 444
                class="org.jkiss.dbeaver.ext.oracle.model.auth.OracleAuthModelDatabaseNative"
                default="true">
L
LonwoLonwo 已提交
445 446 447 448 449 450 451
            <replace model="native"/>
            <datasource id="oracle"/>
        </authModel>
        <authModel
                id="oracle_os"
                label="OS Authentication"
                description="OS authentication allows Oracle to pass control of user authentication to the operating system."
S
Serge Rider 已提交
452
                class="org.jkiss.dbeaver.ext.oracle.model.auth.OracleAuthOS">
L
LonwoLonwo 已提交
453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475
            <datasource id="oracle"/>
        </authModel>
    </extension>

    <extension point="org.eclipse.core.runtime.adapters">
        <factory adaptableType="org.jkiss.dbeaver.model.navigator.DBNNode" class="org.jkiss.dbeaver.ext.oracle.model.OracleObjectAdapter">
            <adapter type="org.jkiss.dbeaver.ext.oracle.model.source.OracleSourceObject"/>
            <adapter type="org.jkiss.dbeaver.ext.oracle.model.OracleProcedurePackaged"/>
            <adapter type="org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob"/>
        </factory>
        <factory adaptableType="org.jkiss.dbeaver.ext.oracle.model.OracleSQLDialect" class="org.jkiss.dbeaver.ext.oracle.sql.OracleDialectAdapterFactory">
            <adapter type="org.jkiss.dbeaver.model.text.parser.TPRuleProvider"/>
        </factory>
    </extension>

    <extension point="org.eclipse.ui.bindings">
        <key commandId="org.jkiss.dbeaver.ext.oracle.code.compile" schemeId="org.jkiss.dbeaver.defaultKeyScheme" sequence="CTRL+F9"/>
    </extension>

    <extension point="org.eclipse.core.runtime.preferences">
        <initializer class="org.jkiss.dbeaver.ext.oracle.internal.OraclePreferencesInitializer"/>
    </extension>

476 477 478 479
    <extension point="org.jkiss.dbeaver.sqlInsertMethod">
        <method id="oracleInsertIgnore" class="org.jkiss.dbeaver.ext.oracle.model.OracleInsertReplaceMethodIgnore" label="INSERT IGNORE ROW INDEX" description="Insert ignore duplicate key value"/>
    </extension>

L
LonwoLonwo 已提交
480 481
    <extension point="org.jkiss.dbeaver.sqlDialect">
        <dialect id="oracle" parent="basic" class="org.jkiss.dbeaver.ext.oracle.model.OracleSQLDialect" label="Oracle" description="Oracle SQL dialect." icon="icons/oracle_icon.png">
482
            <property name="insertMethods" value="oracleInsertIgnore"/>
L
LonwoLonwo 已提交
483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507
        </dialect>
    </extension>

    <!--
        <extension point="org.jkiss.dbeaver.mavenRepository">
            <repository id="oracle-maven-repo" name="Oracle Repository" url="https://maven.oracle.com/" order="10">
                <scope group="com.oracle.jdbc"/>
            </repository>
        </extension>
    -->
    <extension point="org.jkiss.dbeaver.task">
        <category id="oracle" name="Oracle" description="Oracle database task" icon="icons/oracle_icon.png"/>
        <category id="oracleTool" parent="oracle" name="Tools" description="Oracle database tools" icon="icons/oracle_icon.png"/>

        <task id="oracleScriptExecute" name="Oracle SQL*Plus script" description="Oracle SQL*Plus script execute" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/sql_script.png" type="oracle" handler="org.jkiss.dbeaver.ext.oracle.tasks.OracleScriptExecuteHandler">
            <datasource id="oracle"/>
            <objectType name="org.jkiss.dbeaver.ext.oracle.model.OracleDataSource"/>
            <objectType name="org.jkiss.dbeaver.ext.oracle.model.OracleSchema"/>
        </task>

        <!-- SQL tools -->
        <task id="oracleToolValidateStructure" name="%tasks.validate.structure.table.node.name" description="%tasks.validate.structure.table.node.description" icon="platform:/plugin/org.jkiss.dbeaver.model/icons/tree/admin.png" type="oracleTool" handler="org.jkiss.dbeaver.ext.oracle.tasks.OracleToolTableValidateStructure">
            <datasource id="oracle"/>
            <objectType name="org.jkiss.dbeaver.ext.oracle.model.OracleTableBase"/>
        </task>
508 509 510 511
        <task id="oracleToolTableTruncate" name="%tasks.truncate.table.node.name" description="%tasks.truncate.table.node.description" icon="platform:/plugin/org.jkiss.dbeaver.model/icons/tree/admin.png" type="oracleTool" handler="org.jkiss.dbeaver.ext.oracle.tasks.OracleToolTableTruncate">
            <datasource id="oracle"/>
            <objectType name="org.jkiss.dbeaver.ext.oracle.model.OracleTableBase"/>
        </task>
512 513 514 515 516 517 518 519
        <task id="oracleToolTableGatherStatistics" name="%tasks.gather.statistics.table.node.name" description="%tasks.gather.statistics.table.node.description" icon="platform:/plugin/org.jkiss.dbeaver.model/icons/tree/admin.png" type="oracleTool" handler="org.jkiss.dbeaver.ext.oracle.tasks.OracleToolsTableGatherStatistics">
            <datasource id="oracle"/>
            <objectType name="org.jkiss.dbeaver.ext.oracle.model.OracleTableBase"/>
        </task>
        <task id="oracleToolIndexGatherStatistics" name="%tasks.gather.statistics.index.node.name" description="%tasks.gather.statistics.index.node.description" icon="platform:/plugin/org.jkiss.dbeaver.model/icons/tree/admin.png" type="oracleTool" handler="org.jkiss.dbeaver.ext.oracle.tasks.OracleToolIndexGatherStatistics">
            <datasource id="oracle"/>
            <objectType name="org.jkiss.dbeaver.ext.oracle.model.OracleTableIndex"/>
        </task>
520 521 522 523
        <task id="oracleToolMViewRefresh" name="%tasks.refresh.mview.node.name" description="%tasks.refresh.mview.node.description" icon="platform:/plugin/org.jkiss.dbeaver.model/icons/tree/admin.png" type="oracleTool" handler="org.jkiss.dbeaver.ext.oracle.tasks.OracleToolMViewRefresh">
            <datasource id="oracle"/>
            <objectType name="org.jkiss.dbeaver.ext.oracle.model.OracleMaterializedView"/>
        </task>
L
LonwoLonwo 已提交
524 525 526
    </extension>

</plugin>