# Open Data Access Designer

###### Identifier:

org.eclipse.datatools.connectivity.oda.design.ui.dataSource

###### Since:

3.0

###### Description:

This extension point provides extensibility to the Open Data Access (ODA) Designer UI framework, through which an user may define an ODA data source design and a data set design.
An ODA driver that implements the ODA run-time extension point may optionally extend this ODA UI extension point to contribute customized ODA design wizard and property pages.

###### Configuration Markup:

<!ELEMENT extension (dataSourceUI , dataSetUI+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

<!ELEMENT dataSourceUI (newDataSourceWizard)>

<!ATTLIST dataSourceUI

id CDATA #REQUIRED

>

Allows ODA data providers to define a customized dialog page for an user to create a new ODA data source design instance.

- id - A fully qualified ID that uniquely identifies the ODA data source extension within an ODA consumer application's environment. Its value must match that of the dataSource.id attribute defined in the org.eclipse.datatools.connectivity.oda.dataSource extension of the same ODA driver. When implementing the org.eclipse.datatools.connectivity.connectionProfile extension point, its connectionProfile.id attribute must also match this id value.

<!ELEMENT newDataSourceWizard EMPTY>

<!ATTLIST newDataSourceWizard

windowTitle CDATA #IMPLIED

includesProgressMonitor (true | false) "true"

pageTitle CDATA #IMPLIED

pageClass CDATA #REQUIRED

>

Defines the customizable behavior of a data source wizard that allows an user to create a new ODA data source design instance.
The implementation class of the data source wizard is specified in the newWizard.class attribute defined in the org.eclipse.datatools.connectivity.connectionProfile extension point.
The wizard class must either use or extend from the ODA framework's wizard base class, org.eclipse.datatools.connectivity.oda.design.ui.wizards.NewDataSourceWizard.
This element includes the attributes to specify the customized wizard starting page that an extension contributes to the data source wizard.

- windowTitle - The customized title of the data source wizard window.
- includesProgressMonitor - Indicates whether the data source wizard should include a progress monitor. Default value is "true".
- pageTitle - The page title of the data source wizard's customized starting page. This value, if specified, overrides any title that may have been set by the wizard page's constructor.
- pageClass - A fully qualified class name that implements the wizard starting page for creating a new ODA data source design instance.
  This class must extend from the ODA abstract base class, org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSourceWizardPage.
  A default concrete implementation class is provided in the ODA framework, org.eclipse.datatools.connectivity.oda.design.ui.pages.impl.DefaultDataSourceWizardPage. An ODA extension may choose to use or extend from this default implementation class.

<!ELEMENT dataSetUI (dataSetWizard , dataSetPage+)>

<!ATTLIST dataSetUI

id CDATA #REQUIRED

initialPageId CDATA #IMPLIED

supportsInParameters (true | false) "true"

supportsOutParameters (true | false) "false"

>

Allows ODA data providers to define customized dialog page(s) for an user to create or edit an ODA data set design instance. The element defines child elements for the data set wizard page(s) and editor page(s).
An ODA host designer may use the custom wizard pages' control for editing a data set design instance.

- id - A fully qualified ID that uniquely identifies the ODA data set type within an ODA data source extension. Its value must match that of the dataSet.id attribute defined in the org.eclipse.datatools.connectivity.oda.dataSource extension of the same ODA driver.
- initialPageId - Identifies a particular dataSetPage that should be selected in a data set dialog.
- supportsInParameters - Indicates that this type of data set design supports input parameter definitions, and that an ODA host designer might need to collect further metadata on the parameter definitions provided by the customized page(s).
- supportsOutParameters - Indicates that this type of data set design supports output parameter definitions, and that an ODA host designer might need to collect further metadata on the parameter definitions provided by the customized page(s).

<!ELEMENT dataSetWizard EMPTY>

<!ATTLIST dataSetWizard

class CDATA "org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizard"

windowTitle CDATA #IMPLIED

>

Defines a data set wizard that allows an user to create or edit an ODA data set design instance.

- class - The implementation class of the data set wizard.
  The wizard class must either use or extend from the ODA framework's wizard base class, org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizard.
- windowTitle - The customized title of the data set wizard window.

<!ELEMENT dataSetPage EMPTY>

<!ATTLIST dataSetPage

id CDATA #REQUIRED

wizardPageClass CDATA #REQUIRED

displayName CDATA #IMPLIED

path CDATA #IMPLIED

icon CDATA #IMPLIED

>

Defines a customized page that an extension contributes to an ODA host designer's data set dialog.

- id - A unique name of this page within a data set dialog.
- wizardPageClass - A fully qualified class name that implements a data set wizard page to create or edit an ODA data set design instance.
  This class must extend from the ODA abstract base class, org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizardPage.
- displayName - The page title or descriptive name of a customized page that will be displayed in the UI of this page. This value, if specified, overrides any title or descriptive name that may have been set by the page's constructor.
- path - The path of the page in a data set preference dialog.
  To add the page to the root node, specify "/" in this value. Default value is "/".
  To add the page as a child of another page node, specify its full path starting with a "/"; and use the "/" as a separator in between each page node in the hierarchy.
  For example, a path value "/parent" would add this page as a child node to an existing page called "parent".
  Note: The page with the name "parent" should have been added before attempting to add the child page.
- icon - A relative path to an icon that will be used in the UI in addition to the page's display name.

###### Examples:

       <extension
      point="org.eclipse.datatools.connectivity.oda.design.ui.dataSource">
          <dataSourceUI id="%oda.data.source.id">
             <newDataSourceWizard
                   pageClass="org.eclipse.datatools.connectivity.oda.flatfile.ui.wizards.FolderSelectionWizardPage"
                   pageTitle="Select Folder"
                   windowTitle="New Flat File Data Source Profile"
                   includesProgressMonitor="false"/>
          </dataSourceUI>
          <dataSetUI
                id="org.eclipse.datatools.connectivity.oda.flatfile.dataSet"
                initialPageId="oda.flatfile.ui.tablePage"
                supportsInParameters="false"
                supportsOutParameters="false">
             <dataSetWizard
                   class="org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizard"
                   windowTitle="Select Table"/>
             <dataSetPage
                   displayName="Select Columns"
                   icon="icons/file.gif"
                   id="oda.flatfile.ui.tablePage"
                   path="/"
                   wizardPageClass="org.eclipse.datatools.connectivity.oda.flatfile.ui.wizards.FileSelectionWizardPage"/>
          </dataSetUI>
       </extension>

###### API Information:

[Provisional] An extension must implement the related dialog pages defined in the extension point's schema. See the abstract base classes' JavaDoc documentation in the org.eclipse.datatools.connectivity.oda.design.ui project for more information.

###### Supplied Implementation:

The plug-in org.eclipse.datatools.connectivity.oda.flatfile.ui, supplied with the Eclipse DTP Connectivity source, provides an example for implementing a simple ODA Design UI extension.

Copyright (c) 2006 Actuate Corporation. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html