Driver Definition

Identifier:
org.eclipse.datatools.connectivity.driverExtension

Since:
DTP 0.x

Description:

The driverExtension is used by developers to define templates that describe the mechanical components necessary for opening connections to servers. Users create specific driver definitions using these templates.

The driver definitions are intended to be used in conjunction with connection profiles, where the driver definition specifies the mechanics (e.g. JAR files, driver class names, etc.) necessary for opening the connection and where the connection profile specifies the particulars for connecting to a specific server (e.g. host, port, user ID, password, etc.).

In addition, using the driverTemplateOverride functionality, adopters can take existing driver templates (such as for one of the Enablement projects) and update the driver's jar list to actually point to a wrapped jar, or update individual properties of a template to fit a particular use.

Configuration Markup:

<!ELEMENT extension (category* , driverTemplate* , driverTemplateOverride*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED

>


<!ELEMENT category EMPTY>

<!ATTLIST category

id             CDATA #REQUIRED

name           CDATA #IMPLIED

description    CDATA #IMPLIED

parentCategory CDATA #IMPLIED

>

This element is used to identify a category. Categories are used to group related connection profile types (e.g. databases).



<!ELEMENT driverTemplate (properties? , migration?)>

<!ATTLIST driverTemplate

id                    CDATA #REQUIRED

name                  CDATA #IMPLIED

description           CDATA #IMPLIED

parentCategory        CDATA #IMPLIED

jarList               CDATA #IMPLIED

createDefault         (true | false) "true"

emptyJarListIsOK      (true | false) "false"

valuesProvider        CDATA #IMPLIED

defaultDefinitionName CDATA #IMPLIED

>

This element is used to identify a template.



<!ELEMENT properties (property+)>

Parent container for specific driver definition properties.



<!ELEMENT property EMPTY>

<!ATTLIST property

id                       CDATA #REQUIRED

name                     CDATA #REQUIRED

description              CDATA #IMPLIED

value                    CDATA #IMPLIED

visible                  (true | false) "true"

example                  CDATA #IMPLIED

required                 (true | false) "true"

generated                (true | false) "false"

customPropertyDescriptor CDATA #IMPLIED

category                 CDATA #IMPLIED

>

A property definition for a driver definition.



<!ELEMENT driverTemplateOverride (propertyOverrides)?>

<!ATTLIST driverTemplateOverride

targetId              CDATA #REQUIRED

name                  CDATA #IMPLIED

description           CDATA #IMPLIED

parentCategory        CDATA #IMPLIED

jarList               CDATA #IMPLIED

createDefault         (true | false)

emptyJarListIsOK      (true | false)

valuesProvider        CDATA #IMPLIED

priority              CDATA "1"

defaultDefinitionName CDATA #IMPLIED

id                    CDATA #IMPLIED

remove                (true | false)

>

This element is used to identify a template override



<!ELEMENT propertyOverrides (propertyOverride)+>

Parent container for specific driver definition overridden properties



<!ELEMENT propertyOverride EMPTY>

<!ATTLIST propertyOverride

targetId                 CDATA #REQUIRED

name                     CDATA #IMPLIED

description              CDATA #IMPLIED

value                    CDATA #IMPLIED

visible                  (true | false)

example                  CDATA #IMPLIED

required                 (true | false)

customPropertyDescriptor CDATA #IMPLIED

category                 CDATA #IMPLIED

remove                   (true | false)

>

A property override definition for a driver template



<!ELEMENT migration (propertyMigration*)*>

<!ATTLIST migration

newDriverTemplateID CDATA #IMPLIED

class               CDATA #IMPLIED

>

Use this element to add migration support for a deprecated driver type (e.g. ID changes, property changes, etc.). Make sure if you are migrating driver definitions of one template to another and the first driver template was set to "createDefault = true", that you set the old driver template to createDefault = false or the driver manager will attempt to recreate the older template and then migrate it.



<!ELEMENT propertyMigration EMPTY>

<!ATTLIST propertyMigration

oldPropertyKey CDATA #IMPLIED

newPropertyKey CDATA #IMPLIED

newValue       CDATA #IMPLIED

>

This element is used to specify a simple mapping for property key names from a source driver definition to a target driver definition



Examples:

API Information:
[Enter API information here.]

Supplied Implementation:
[Enter information about supplied implementation of this extension point.]


Copyright (c) 2004-2007 Sybase, Inc.

All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/

Contributors: brianf - initial API and implementation