blob: 99726d8e5b7fda8f3d5c735b7d3d661acb9cab6e [file] [log] [blame]
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<title>Data Tools Open Source Overview for Eclipse database Developer</title>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="place"/>
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>Der Ping Chou</o:Author>
<o:LastAuthor>Der Ping Chou</o:LastAuthor>
<o:Revision>2</o:Revision>
<o:TotalTime>384</o:TotalTime>
<o:Created>2005-02-25T01:32:00Z</o:Created>
<o:LastSaved>2005-02-25T01:32:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>3372</o:Words>
<o:Characters>19221</o:Characters>
<o:Company>IBM</o:Company>
<o:Lines>160</o:Lines>
<o:Paragraphs>45</o:Paragraphs>
<o:CharactersWithSpaces>22548</o:CharactersWithSpaces>
<o:Version>10.2625</o:Version>
</o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:GrammarState>Clean</w:GrammarState>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!--[if !mso]><object
classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
<style>
st1\:*{behavior:url(#ieooui) }
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Courier;
panose-1:2 7 4 9 2 2 5 2 4 4;
mso-font-charset:0;
mso-generic-font-family:modern;
mso-font-format:other;
mso-font-pitch:fixed;
mso-font-signature:3 0 0 0 1 0;}
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;
mso-font-charset:2;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:0 268435456 0 0 -2147483648 0;}
@font-face
{font-family:PMingLiU;
panose-1:2 1 6 1 0 1 1 1 1 1;
mso-font-alt:"Arial Unicode MS";
mso-font-charset:136;
mso-generic-font-family:auto;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:1 134742016 16 0 1048576 0;}
@font-face
{font-family:Times;
panose-1:0 0 0 0 0 0 0 0 0 0;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:3 0 0 0 1 0;}
@font-face
{font-family:"\@PMingLiU";
panose-1:0 0 0 0 0 0 0 0 0 0;
mso-font-charset:136;
mso-generic-font-family:auto;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:1 134742016 16 0 1048576 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:PMingLiU;}
h1
{mso-style-next:Normal;
margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
page-break-after:avoid;
mso-outline-level:1;
font-size:16.0pt;
font-family:Arial;
mso-font-kerning:16.0pt;}
h2
{mso-style-next:Normal;
margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
page-break-after:avoid;
mso-outline-level:2;
font-size:14.0pt;
font-family:Arial;
font-style:italic;}
h3
{mso-style-link:"Heading 3 Char";
mso-style-next:Normal;
margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
mso-pagination:widow-orphan;
page-break-after:avoid;
mso-outline-level:3;
font-size:13.0pt;
font-family:Arial;}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;
text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;
text-underline:single;}
span.Heading3Char
{mso-style-name:"Heading 3 Char";
mso-style-link:"Heading 3";
mso-ansi-font-size:13.0pt;
mso-bidi-font-size:13.0pt;
font-family:Arial;
mso-ascii-font-family:Arial;
mso-fareast-font-family:PMingLiU;
mso-hansi-font-family:Arial;
mso-bidi-font-family:Arial;
mso-ansi-language:EN-US;
mso-fareast-language:ZH-TW;
mso-bidi-language:AR-SA;
font-weight:bold;}
span.SpellE
{mso-style-name:"";
mso-spl-e:yes;}
span.GramE
{mso-style-name:"";
mso-gram-e:yes;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.Section1
{page:Section1;}
/* List Definitions */
@list l0
{mso-list-id:108399230;
mso-list-type:hybrid;
mso-list-template-ids:2123811270 1050436332 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
{mso-level-tab-stop:.75in;
mso-level-number-position:left;
margin-left:.75in;
text-indent:-.5in;}
@list l1
{mso-list-id:139032311;
mso-list-type:hybrid;
mso-list-template-ids:1353321884 67698713 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2
{mso-list-id:375350766;
mso-list-type:hybrid;
mso-list-template-ids:898505128 67698689 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l2:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.75in;
mso-level-number-position:left;
margin-left:.75in;
text-indent:-.25in;
font-family:Symbol;}
@list l2:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:1.25in;
mso-level-number-position:left;
margin-left:1.25in;
text-indent:-.25in;}
@list l3
{mso-list-id:423258523;
mso-list-type:hybrid;
mso-list-template-ids:1126210270 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l3:level1
{mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l4
{mso-list-id:441266234;
mso-list-type:hybrid;
mso-list-template-ids:-700155090 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l4:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l5
{mso-list-id:510027661;
mso-list-type:hybrid;
mso-list-template-ids:-730529844 67698713 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l5:level1
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l6
{mso-list-id:638417239;
mso-list-type:hybrid;
mso-list-template-ids:-1125845370 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l6:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l7
{mso-list-id:639506106;
mso-list-type:hybrid;
mso-list-template-ids:222350942 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l7:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l8
{mso-list-id:687413151;
mso-list-type:hybrid;
mso-list-template-ids:-1253031156 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l8:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l9
{mso-list-id:735514007;
mso-list-type:hybrid;
mso-list-template-ids:1030158856 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l9:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
margin-left:1.0in;
text-indent:-.25in;
font-family:Symbol;}
@list l10
{mso-list-id:892693764;
mso-list-type:hybrid;
mso-list-template-ids:-108789376 67698689 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l10:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l11
{mso-list-id:1159004659;
mso-list-type:hybrid;
mso-list-template-ids:-1806386 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l11:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l12
{mso-list-id:1182429379;
mso-list-type:hybrid;
mso-list-template-ids:1340362444 67698689 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l12:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l13
{mso-list-id:1235240865;
mso-list-type:hybrid;
mso-list-template-ids:1377453496 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l13:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l14
{mso-list-id:1241216893;
mso-list-type:hybrid;
mso-list-template-ids:-1229825886 67698713 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l14:level1
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l15
{mso-list-id:1375619746;
mso-list-type:hybrid;
mso-list-template-ids:-143879158 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l15:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l16
{mso-list-id:1442720828;
mso-list-type:hybrid;
mso-list-template-ids:755167434 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l16:level1
{mso-level-tab-stop:.75in;
mso-level-number-position:left;
margin-left:.75in;
text-indent:-.25in;}
@list l17
{mso-list-id:1547109863;
mso-list-type:hybrid;
mso-list-template-ids:421450982 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l17:level1
{mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l18
{mso-list-id:1561673796;
mso-list-type:hybrid;
mso-list-template-ids:1196978820 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l18:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l19
{mso-list-id:1578901567;
mso-list-type:hybrid;
mso-list-template-ids:1484678962 67698705 1050436332 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l19:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-weight:normal;}
@list l19:level2
{mso-level-tab-stop:1.25in;
mso-level-number-position:left;
margin-left:1.25in;
text-indent:-.5in;
mso-ansi-font-weight:normal;}
@list l20
{mso-list-id:1621063900;
mso-list-type:hybrid;
mso-list-template-ids:-1145554148 67698713 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l20:level1
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l21
{mso-list-id:1644239630;
mso-list-type:hybrid;
mso-list-template-ids:526444066 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l21:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l22
{mso-list-id:1665888116;
mso-list-type:hybrid;
mso-list-template-ids:721345754 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l22:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l23
{mso-list-id:1755281499;
mso-list-type:hybrid;
mso-list-template-ids:27065034 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l23:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l24
{mso-list-id:1775586773;
mso-list-type:hybrid;
mso-list-template-ids:537418268 67698689 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l24:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.75in;
mso-level-number-position:left;
margin-left:.75in;
text-indent:-.25in;
font-family:Symbol;}
@list l25
{mso-list-id:2008902624;
mso-list-type:hybrid;
mso-list-template-ids:-1983607976 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l25:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:.25in;
mso-level-number-position:left;
margin-left:.25in;
text-indent:-.25in;}
@list l26
{mso-list-id:2042196200;
mso-list-type:hybrid;
mso-list-template-ids:-1854100446 67698713 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l26:level1
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:.25in;
mso-level-number-position:left;
margin-left:.25in;
text-indent:-.25in;}
@list l27
{mso-list-id:2074424627;
mso-list-type:hybrid;
mso-list-template-ids:960013868 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l27:level1
{mso-level-tab-stop:.75in;
mso-level-number-position:left;
margin-left:.75in;
text-indent:-.25in;}
@list l27:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:1.25in;
mso-level-number-position:left;
margin-left:1.25in;
text-indent:-.25in;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";}
table.MsoTableGrid
{mso-style-name:"Table Grid";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
<div class=Section1>
<h1>Data Tools Open Source Overview for Eclipse Database Developer</h1>
<p class=MsoNormal align=center style='text-align:center'><b style='mso-bidi-font-weight:
normal'><o:p>&nbsp;</o:p></b></p>
<p class=MsoNormal>Before you read this paper, you should already be familiar
with the features and plug-ins in the org.eclipse.wst.rdb (relational database)
open source contribution. At a minimum, you should go through the tutorial that
is posted on the Eclipse Web site. This document is intends to provide an
overview for a database tool developer that describes how to use and extend the
Data Tools open source contribution.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'>Topics covered:<o:p></o:p></b></p>
<p class=MsoNormal style='margin-left:.5in'><a href="#_Background">Background</a><o:p></o:p></p>
<p class=MsoNormal style='margin-left:.5in'><a
href="#_Features_of_the_Data Tools open sou">Features of Data Tools</a><o:p></o:p></p>
<p class=MsoNormal style='margin-left:.5in'><a
href="#_Supporting_new_database_types">Supporting new database types</a><o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l23 level1 lfo28;
tab-stops:list 1.0in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Creating_a_new_database vendor">Creating
a new database vendor</a><o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l23 level1 lfo28;
tab-stops:list 1.0in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Extending_the_catalog_loader">Extending
the catalog loader</a></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l23 level1 lfo28;
tab-stops:list 1.0in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Extension_point_for_the SQL parser">Extension
point for SQL parser</a></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l23 level1 lfo28;
tab-stops:list 1.0in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>4)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Extension_point_for_the SQL parser">Contributing
a new JDBC driver</a> <o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l23 level1 lfo28;
tab-stops:list 1.0in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>5)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Extension_point_for_DDL Code genera">Extension
point for DDL code generation</a><o:p></o:p></p>
<p class=MsoNormal style='margin-left:.5in'><b style='mso-bidi-font-weight:
normal'><o:p>&nbsp;</o:p></b></p>
<p class=MsoNormal style='margin-left:.5in'><a
href="#_Re-usable_Connection_Wizard_Pages">Re-usable Connection Wizard Pages
Overview</a><o:p></o:p></p>
<p class=MsoNormal style='margin-left:.75in'>JDBC Connection Configuration Page<o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.25in;text-indent:-.25in;mso-list:l8 level1 lfo25;
tab-stops:list 1.25in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Add_New_Database_Manager">Add new
database manager</a><o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.25in;text-indent:-.25in;mso-list:l8 level1 lfo25;
tab-stops:list 1.25in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Add_New_JDBC_Driver">Add new JDBC
driver</a><o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.25in;text-indent:-.25in;mso-list:l8 level1 lfo25;
tab-stops:list 1.25in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Set_Initial_Values_for Connection P">Set
initial values for connection properties</a> <o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.25in;text-indent:-.25in;mso-list:l8 level1 lfo25;
tab-stops:list 1.25in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>4)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Restrict_Which_Database_Managers Ar">Restrict
which database managers are displayed (available WTP M4)</a><o:p></o:p></p>
<p class=MsoNormal style='margin-left:.75in'><span style='mso-spacerun:yes'> 
</span><o:p></o:p></p>
<p class=MsoNormal style='margin-left:.75in'>Existing Connections Page<o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.25in;text-indent:-.25in;mso-list:l15 level1 lfo26;
tab-stops:list 1.25in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Filter_List_of_Available Connection">Filter
list of available connections</a><o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.25in;text-indent:-.25in;mso-list:l15 level1 lfo26;
tab-stops:list 1.25in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Modify_Displayed_Connection_Propert">Modify
displayed connection properties</a><o:p></o:p></p>
<p class=MsoNormal style='margin-left:1.25in;text-indent:-.25in;mso-list:l15 level1 lfo26;
tab-stops:list 1.25in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><a href="#_Specify_Which_Existing_Connection I">Specify
which existing connection is initially selected</a><o:p></o:p></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>This is the first step in our open source offering and we do
encourage public contribution to new features through the extension of <b
style='mso-bidi-font-weight:normal'>SQL Scrapbook</b>, <b style='mso-bidi-font-weight:
normal'>Server Explorer</b> and <b style='mso-bidi-font-weight:normal'>Browse
Data</b>. </p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<h2><a name="_Background"></a><span class=Heading3Char><span style='font-size:
13.0pt;font-style:normal'>Background</span></span><span style='font-style:normal'><o:p></o:p></span></h2>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>What are <b style='mso-bidi-font-weight:normal'>SQLModel</b>
and <b style='mso-bidi-font-weight:normal'>Database definition model</b>?</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'>SQLModel</b> is a
meta-model based on the SQL 99/2003 specification, which in turn defines all database
elements for the industry standard. A <b style='mso-bidi-font-weight:normal'>Database
definition model</b> <i style='mso-bidi-font-style:normal'>derives</i> from
SQLModel, which implements all detailed database model elements. For example: tables;
columns; user defined data types; relationships and constraints; stored procedures
and their detailed parameters. </p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>The <b style='mso-bidi-font-weight:normal'>Database
definition model</b> is then used as the base to set up a database-specific
vendor document (XMI file). This vendor document is used as the source to define
details about the database. For example, it can specify whether a database
supports stored procedures or views. In addition, all data type support is also
recorded in the vendor document. See the section below called <b
style='mso-bidi-font-weight:normal'>Creating a new database vendor</b> for
details on how to create a vendor document for a new database vendor.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<h1><a name="_Features_of_the_Data Tools open sou"></a>Features of the Data
Tools open source contribution<o:p></o:p></h1>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span class=Heading3Char><span style='font-size:13.0pt'>Server
Explorer</span></span> – You can use the features in this view to connect to or
disconnect from a database server using a native JDBC driver. This view also
displays multiple live connections to database servers, and virtual folders
containing tables, views, aliases, constraints, relationships, indexes, stored
procedures, and user-defined functions. In addition to providing read-only
capability, this view also supports a context menu that allows you to launch the
SQL Scrapbook (described below), and browse data in a selected relational table
or view.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Plug-ins that implement the Server Explorer: org.eclipse.wst.rdb.server.ui</p>
<p class=MsoNormal>Eclipse WST dependencies:</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.rdb.connection.ui<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.rdb.models.sql<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.rdb.core<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.rdb.core.ui<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.rdb.models.dbdefinition<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.rdb.outputview<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.common.navigator.views</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='mso-spacerun:yes'> </span><o:p></o:p></p>
<p class=MsoNormal><span class=Heading3Char><span style='font-size:13.0pt'>SQL Scrapbook</span></span>
– There are three main ways to launch the SQL Scrapbook:</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>1) Right-click a database node in the Server Explorer and
select <b>Open SQL Scrapbook.<o:p></o:p></b></p>
<p class=MsoNormal>2) Click the <b>Open SQL Scrapbook</b> icon from the Server
Explorer toolbar.</p>
<p class=MsoNormal>3) Click <b>File &gt; New &gt; Other </b>from the main menu,
then expand the<b> </b>Data node in the New wizard window and select <b>SQL Scrapbook
Page.</b> </p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>In addition, the SQL Scrapbook opens when you open a SQL
query resource file (.sql or .sqlpage file) from the Navigator view.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Plug-ins that implement SQL Scrapbook: org.eclipse.wst.rdb.sqlscrapbook</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Eclipse WST dependencies:</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>    </span><span
style='mso-spacerun:yes'>  </span><span style='mso-tab-count:1'>          </span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>org.eclipse.wst.rdb.core<o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.rdb.core.ui<o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.rdb.models.sql<o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.rdb.server.ui</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span class=Heading3Char><span style='font-size:13.0pt'>Connection
Wizard</span></span> – A default JDBC connection wizard is contributed as part
of the open source contribution. To open the wizard, right-click in a blank
area of the Server Explorer view and select <b>New Connection</b>. The wizard mainly
consists of text fields that prompt the user for a suitable JDBC driver, database,
host, port number, JDBC driver class, class location, and connection URL. To obtain
a valid connection using the wizard you must ensure that the JDBC driver class,
class location, and connection URL are properly configured.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Plug-ins that implement the connection wizard: org.eclipse.wst.rdb.connection.ui</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Eclipse WST dependencies:</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span style='color:black;background:white;mso-highlight:
white'><span style='mso-spacerun:yes'>   </span><span
style='mso-spacerun:yes'>   </span><span style='mso-tab-count:1'>      </span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>org.eclipse.wst.rdb.models.sql<o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.rdb.models.dbdefinition<o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>org.eclipse.wst.rdb.core</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span class=Heading3Char><span style='font-size:13.0pt'>Output
View</span></span> – An Eclipse-based view that displays the return result set
of a SQL query.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Plug-ins that implement the Output View: org.eclipse.wst.rdb.outputview</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Eclipse WST dependencies:</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal style='text-indent:.5in;mso-layout-grid-align:none;
text-autospace:none'>None<span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span class=Heading3Char><span style='font-size:13.0pt'>Additional
plug-ins</span></span> – In addition to the feature-specific plug-ins mentioned
above, the following plug-ins <span class=GramE>are</span> contributed as core
or required plug-ins to support the open source features. Most of these
plug-ins are also listed above as dependencies for the feature-specific
plug-ins.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:
.5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
<tr style='mso-yfti-irow:0'>
<td width=295 valign=top style='width:221.4pt;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'>org.eclipse.wst.rdb.core</span></b><span
style='font-size:10.0pt'><o:p></o:p></span></p>
</td>
<td width=295 valign=top style='width:221.4pt;border:solid windowtext 1.0pt;
border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt'>Core, base features support<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:1'>
<td width=295 valign=top style='width:221.4pt;border:solid windowtext 1.0pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'>org.eclipse.wst.rdb.core.ui</span></b><span
style='font-size:10.0pt'><o:p></o:p></span></p>
</td>
<td width=295 valign=top style='width:221.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt'>UI, supporting core
features<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:2'>
<td width=295 valign=top style='width:221.4pt;border:solid windowtext 1.0pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'>org.eclipse.wst.rdb.dbdefinition.*</span></b><span
style='font-size:10.0pt'><o:p></o:p></span></p>
</td>
<td width=295 valign=top style='width:221.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt'>Database definition for
specific vendor<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:3;mso-yfti-lastrow:yes'>
<td width=295 valign=top style='width:221.4pt;border:solid windowtext 1.0pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span class=SpellE><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'>org.eclipse.wst.rdb.models.sql</span></b></span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
</td>
<td width=295 valign=top style='width:221.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span class=SpellE><span style='font-size:10.0pt'>SQLModel</span></span><span
style='font-size:10.0pt'> - meta-model defined using SQL99/2003
specification.<o:p></o:p></span></p>
</td>
</tr>
</table>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<h1><a name="_Creating_a_new_database vendor"></a><a
name="_Supporting_new_database_types"></a>Supporting new database types<i><o:p></o:p></i></h1>
<p class=MsoNormal>Using the <st1:City><st1:place>Derby</st1:place></st1:City>
open source database as our example plug-in, we will show you step by step how
to extend the open source framework.<i><o:p></o:p></i></p>
<h2><span style='font-style:normal'><o:p>&nbsp;</o:p></span></h2>
<h2><span style='font-style:normal'>Creating a new database vendor<o:p></o:p></span></h2>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Plug-ins used:</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<ul style='margin-top:0in' type=disc>
<li class=MsoNormal style='mso-list:l4 level1 lfo9;tab-stops:list .5in'><span
style='mso-bidi-font-weight:bold'>org.eclipse.wst.rdb.models.sql</span>
(SQLModel)</li>
<li class=MsoNormal style='mso-list:l4 level1 lfo9;tab-stops:list .5in'><span
style='mso-bidi-font-weight:bold'>org.eclipse.wst.rdb.models.dbdefinition
(</span>Database Definition Model)</li>
</ul>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Here are two typical scenarios for creating a new database
vendor:</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><b>Scenario one: Altering the SQLModel definition<o:p></o:p></b></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Typically, you would not need to alter the definition for
SQLModel. However, if you do need to add new model definition to the SQLModel,
then complete the following steps: </p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal style='margin-left:.75in;text-indent:-.25in;mso-list:l27 level1 lfo2;
tab-stops:list .75in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Change the SQLModel (Rose model) file to add
your database element.</p>
<p class=MsoNormal style='margin-left:.75in;text-indent:-.25in;mso-list:l27 level1 lfo2;
tab-stops:list .75in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Use the Eclipse framework to generate a new EMF
model.</p>
<p class=MsoNormal style='margin-left:.75in;text-indent:-.25in;mso-list:l27 level1 lfo2;
tab-stops:list .75in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Generate code to create a new Database
Definition Model.</p>
<p class=MsoNormal style='margin-left:.75in;text-indent:-.25in;mso-list:l27 level1 lfo2;
tab-stops:list .75in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>4.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Continue with step one of Scenario two.</p>
<p class=MsoNormal style='margin-left:.25in'><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><b>Scenario two: Adding a new database that is SQL99
compliant<o:p></o:p></b></p>
<p class=MsoNormal><b><o:p>&nbsp;</o:p></b></p>
<p class=MsoNormal>An example of this scenario is adding the <st1:City><st1:place>Derby</st1:place></st1:City>
open source database. This example is not realistic, because the Database
Definition Model for <st1:City><st1:place>Derby</st1:place></st1:City> has
already been provided as part of the open source contribution, but you can
follow these same steps to add other database vendors.<o:p></o:p></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal style='margin-left:.75in;text-indent:-.25in;mso-list:l16 level1 lfo13;
tab-stops:list .75in'><![if !supportLists]><span style='mso-fareast-font-family:
"Times New Roman"'><span style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Generate a vendor document for the <st1:City><st1:place>Derby</st1:place></st1:City>
database. Use the attached Java program to create a new database vendor (XMI) document.
The Java class uses the database definition model (org.eclipse.wst.rdb.models.dbdefinition
) as a base, then walks through and sets each single model element (for
example: column; view; trigger; constraint; and sequence). See the code snippet
below for details. When it is finished, it will create a XMI document as your
database vendor documentation. You should modify the content of this Java class
to match features that your target database supports. For example, you would probably
want to set the schema support to a value of ‘false’, if you are working on a MySQL
database.</p>
<p class=MsoNormal style='margin-left:.75in'><a
href="http://www.eclipse.org/webtools/wst/components/rdb/sampleZip/ExampleForVendorPrimitiveWrite.java">Java
Class <span class=GramE>file</span> for generating Vendor Primitive document</a><o:p></o:p></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><o:p>&nbsp;</o:p></p>
<p class=MsoNormal style='margin-left:.75in;text-indent:-.25in;mso-list:l16 level1 lfo13;
tab-stops:list .75in;mso-layout-grid-align:none;text-autospace:none'><![if !supportLists]><span
style='mso-fareast-font-family:"Times New Roman"'><span style='mso-list:Ignore'>2.<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Create
a plug-in for the <st1:City><st1:place>Derby</st1:place></st1:City> database
definition. You can use the <span class=SpellE><span style='mso-bidi-font-weight:
bold'>org.eclipse.wst.rdb.dbdefinition.derby</span></span> plug-in as an example.
In the <span style='mso-spacerun:yes'> </span>plugin.xml file, you will need to
include two extension points, <b style='mso-bidi-font-weight:normal'>databaseDefinition</b>
and <b style='mso-bidi-font-weight:normal'>uri_mapping</b>, as follows:</p>
<p class=MsoNormal style='margin-left:.25in;mso-layout-grid-align:none;
text-autospace:none'><o:p>&nbsp;</o:p></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>&lt;?xml version=&quot;1.0&quot;
encoding=&quot;UTF-8&quot;?&gt;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>&lt;?eclipse version=&quot;3.0&quot;?&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;plugin</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>id</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;<span
class=SpellE>org.eclipse.wst.rdb.dbdefinition.derby</span>&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>name=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;%<span
class=SpellE>pluginName</span>&quot;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>version=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;1.0.0&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>provider-name</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;Eclipse&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;extension</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>         </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>point=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;<span
class=SpellE>org.eclipse.wst.rdb.core.databaseDefinition</span>&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;definition</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>version=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;10.0&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>product</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;</span><st1:City><st1:place><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/definition&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/extension&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;extension</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>         </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>point=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.emf.ecore.uri_mapping&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;mapping</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>source</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;Derby_10.0.xmi&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>target=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;runtime/vendors/Derby_10.0/Derby_10.0.xmi&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/mapping&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/extension&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in'><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/plugin&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><o:p>&nbsp;</o:p></p>
<p class=MsoNormal style='margin-left:.5in'>Important notes:</p>
<p class=MsoNormal style='margin-left:.5in'><o:p>&nbsp;</o:p></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l9 level1 lfo14;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>The version number and product name are required
in the databaseDefinition extension point.</p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l9 level1 lfo14;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>The 2<sup>nd</sup> extension point uri_mapping
is dependant on the vendor document file, which is formed by concatenating the product
name and version name with an underscore. For example, <u><span
style='font-size:10.0pt;font-family:Courier;mso-bidi-font-family:"Courier New";
color:green;background:white;mso-highlight:white'>Derby_10.0.xmi</span></u>. Therefore,
you must <span class=GramE>save<span style='mso-spacerun:yes'>  </span>your</span>
vendor document in the <span style='mso-spacerun:yes'> </span><span
style='font-size:10.0pt;font-family:Courier;mso-bidi-font-family:"Courier New"'>runtime/vendors/Derby_10.0/Derby_10.0.xmi
</span>folder of the <span class=SpellE><span style='background:white;
mso-highlight:white'>org.eclipse.wst.rdb.dbdefinition.</span>derby</span> plug-in.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<h2><a name="_Extending_the_catalog_loader"></a><span style='font-style:normal'>Extending
the catalog loader<o:p></o:p></span></h2>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>The catalog loader provides native JDBC catalog loading for
all databases in the open source contribution. This means that a fixed set of
database elements, such as schemas, tables, views, and relationships are loaded
by querying the JDBC metadata. You can enhance the default catalog loader to
process additional model elements that your target database supports. A common
approach for this is to execute a specific query on the database server to
retrieve preparatory information from the database system catalog.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>To develop a catalog loader plug-in for <st1:City><st1:place>Derby</st1:place></st1:City>
(<span class=SpellE>org.eclipse.wst.rdb.derby</span>), you would implement a
catalog provider plug-in with following three required plug-ins:</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt'>org.eclipse.wst.rdb<span
style='background:white;mso-highlight:white'>.models.sql<o:p></o:p></span></span></p>
<p class=MsoNormal style='text-indent:.5in'><span class=SpellE><span
style='font-size:10.0pt'>org.eclipse.wst.rdb<span style='background:white;
mso-highlight:white'>.models.dbdefinition</span></span></span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:.5in'><span class=SpellE><span
style='font-size:10.0pt'>org.eclipse.wst.rdb<span style='background:white;
mso-highlight:white'>.</span>core</span></span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Extension points:</p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:
.5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
<tr style='mso-yfti-irow:0'>
<td width=295 valign=top style='width:221.4pt;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt;font-family:Times'>org.eclipse.wst.rdb.core.catalog</span></b><span
style='font-size:10.0pt'><o:p></o:p></span></p>
</td>
<td width=295 valign=top style='width:221.4pt;border:solid windowtext 1.0pt;
border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Times'>for
catalog loading</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
<td width=295 valign=top style='width:221.4pt;border:solid windowtext 1.0pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'>org.eclipse.wst.rdb.server.ui.ServerExplorerInitializationProvider</span></b><span
style='font-size:10.0pt'><o:p></o:p></span></p>
</td>
<td width=295 valign=top style='width:221.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt'>Contribute a new JDBC
Driver for </span><st1:City><st1:place><span style='font-size:10.0pt'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt'><o:p></o:p></span></p>
</td>
</tr>
</table>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Your plugin.xml file should look like this:</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>&lt;?xml version=&quot;1.0&quot;
encoding=&quot;UTF-8&quot;?&gt;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>&lt;?eclipse version=&quot;3.0&quot;?&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;plugin</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>id=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;
<span class=SpellE>org.eclipse.wst.rdb.derby</span>&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>name=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;Cloudscape
Plug-in&quot;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>version=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;1.0.0&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>provider-name</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;Eclipse&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>class</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;<span
class=SpellE>org.eclipse.wst.rdb.derby.DerbyPlugin</span>&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;runtime&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;library</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>name=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;<span
class=SpellE>derbyPlugin.jar</span>&quot;</span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>         </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;export</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>name=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;*&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/library&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/runtime&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;requires&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;import</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>plugin=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.emf.ecore&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;import</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>plugin=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.core.runtime&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;import</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>plugin=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.core.resources&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;import</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>plugin=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.wst.rdb.models.dbdefinition&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;import</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>plugin=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.wst.rdb.models.sql&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>         </span><span
style='mso-spacerun:yes'>           </span></span><span style='font-size:10.0pt;
background:white;mso-highlight:white'>&lt;<span class=GramE><span
style='color:navy'>import</span></span><span style='color:black'> </span><span
class=SpellE><span style='color:navy'>plugin</span></span> =<span
style='color:green'>&quot;<span class=SpellE>org.eclipse.wst.rdb.core</span>&quot;</span>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/requires&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;extension</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>         </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>point=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.wst.rdb.core.catalog&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;catalog</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>version=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;10.0&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>product</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;</span><st1:City><st1:place><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>provider=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;
<span class=SpellE>org.eclipse.wst.rdb.derby.catalog.DerbyCatalogProvider</span>&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/catalog&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/extension&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span class=GramE><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'>&lt;!--</span></span><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'>
Extension to initialize the Server Explorer with </span><st1:City><st1:place><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'>
--&gt;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;extension</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>         </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>point=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.wst.rdb.server.ui.ServerExplorerInitializationProvider&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>    </span><span style='mso-spacerun:yes'>  </span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&lt;server</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>user=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>loadingPath=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;Plugin_Directory/driver/derby.jar&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>password=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>driverClassName=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.apache.derby.jdbc.EmbeddedDriver&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>serverName=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;localhost&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>         </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;database</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>         </span><span style='mso-tab-count:1'>       </span><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>URL=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;jdbc:derby:Plugin_State_Location/sample&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>               </span></span><span style='font-size:
10.0pt;color:navy;background:white;mso-highlight:white'>version=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;10.0&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>               </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>name</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;Derby
Sample&quot;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>               </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>product</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;</span><st1:City><st1:place><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>         </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/database&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/server&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/extension&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/plugin&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>A user interface (UI) plug-in (<span class=SpellE>org.eclipse.wst.rdb.derby.ui</span>)
is also required, which has following dependencies:</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>      </span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>org.eclipse.wst.rdb.server.ui</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>      </span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>org.eclipse.wst.rdb.connection.ui</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>      </span></span><span
class=SpellE><span style='font-size:10.0pt;background:white;mso-highlight:white'>org.eclipse.wst.rdb.</span><span
style='font-size:10.0pt'>derby</span></span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>      </span></span><span
class=SpellE><span style='font-size:10.0pt;background:white;mso-highlight:white'>org.eclipse.wst.rdb.models.sql</span></span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Your plugin.xml file should look like this:</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>&lt;?xml version=&quot;1.0&quot;
encoding=&quot;UTF-8&quot;?&gt;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>&lt;?eclipse version=&quot;3.0&quot;?&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;plugin</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>id</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;<span
class=SpellE>org.eclipse.wst.rdb.derby.ui</span>&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>name</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;</span><st1:City><st1:place><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>
Plug-in&quot;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>version=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;1.0.0&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>provider-name</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;Eclipse&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>class=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;
<span class=SpellE>org.eclipse.wst.rdb.derby.ui.DerbyUIPlugin</span>&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;runtime&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;library</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>name=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;<span
class=SpellE>derby.ui.jar</span>&quot;</span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>         </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;export</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>name=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;*&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/library&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/runtime&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;requires&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;import</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>plugin=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.ui&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;import</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>plugin=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.core.runtime&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;import</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>plugin=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.wst.rdb.server.ui&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;import</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>plugin=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.wst.rdb.connection.ui&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;<span class=GramE>import</span></span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
class=SpellE><span style='font-size:10.0pt;color:navy;background:white;
mso-highlight:white'>plugin</span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;<span
class=SpellE>org.eclipse.wst.rdb.derby</span>&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;import</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
class=SpellE><span style='font-size:10.0pt;color:navy;background:white;
mso-highlight:white'>plugin</span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;<span
class=SpellE>org.eclipse.wst.rdb.models.sql</span>&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>/&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>   </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/requires&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span class=GramE><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'>&lt;!--</span></span><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'>
Extension for the </span><st1:City><st1:place><span style='font-size:10.0pt;
color:maroon;background:white;mso-highlight:white'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'> for
the new Connection Wizard --&gt;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>  </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;extension</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>point</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:black;background:white;mso-highlight:white'> </span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.wst.rdb.connection.ui.connectionUIProvider&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>  </span><span style='mso-tab-count:2'>                              </span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&lt;databaseDefinition</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>  </span><span style='mso-tab-count:3'>                                              </span></span><span
class=GramE><span style='font-size:10.0pt;color:navy;background:white;
mso-highlight:white'>product</span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;</span><st1:City><st1:place><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>  </span><span style='mso-tab-count:3'>                                              </span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>version=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;10.0&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>  </span><span style='mso-tab-count:2'>                              </span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&lt;/<span
class=SpellE>databaseDefinition</span>&gt;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>  </span><span style='mso-tab-count:2'>                              </span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&lt;driverContribution</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>  </span><span style='mso-tab-count:3'>                                              </span></span><span
class=SpellE><span class=GramE><span style='font-size:10.0pt;color:navy;
background:white;mso-highlight:white'>driverName</span></span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;Derby
Embedded JDBC Driver&quot;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:2.0in'><span class=GramE><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>uiContributor</span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;org.eclipse.wst.rdb.derby.internal.ui.connection.dialogs.DerbyNewConnectionProvider&quot;</span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>  </span><span style='mso-tab-count:2'>                              </span></span><span
style='font-size:10.0pt;color:navy;background:white;mso-highlight:white'>&lt;/<span
class=SpellE>driverContribution</span>&gt;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>  </span></span><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/extension&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:navy;background:white;mso-highlight:white'>&lt;/plugin&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Extension point:</p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:
.5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
<tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
<td width=295 valign=top style='width:221.4pt;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt;font-family:Times;color:black;background:white;
mso-highlight:white'>org.eclipse.wst.rdb.connection.ui.connectionUIProvider</span></b><b
style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt;font-family:
Times;color:black'><o:p></o:p></span></b></p>
</td>
<td width=295 valign=top style='width:221.4pt;border:solid windowtext 1.0pt;
border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Times'>For Connection
Wizard UI – JDBC Driver info for catalog loading</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
</td>
</tr>
</table>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Finally, you can follow the JDBC provider implementation in <span
class=GramE>the <span style='mso-spacerun:yes'> </span><b style='mso-bidi-font-weight:
normal'>org.eclipse.wst.rdb.core</b></span> plug-in (in the <u><span
style='font-family:Times'>\src\org\eclipse\wst\rdb\internal\core\rte\jdbc</span></u>
package, all JDBC* classes such as JDBCDatabase, JDBCTable, JDBCView, and JDBCSchema)
to implement the catalog loader for <st1:City><st1:place>Derby</st1:place></st1:City>.
Or refer to the classes in <span class=SpellE>org.eclipse.wst.rdb.derby</span>
plug-in, catalog package.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<h2><a name="_Extension_point_for_the SQL parser"></a><span style='font-style:
normal'>Extension point for the SQL parser<o:p></o:p></span></h2>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>The extension point to implement a SQL Parser for reverse
engineering or catalog loading from the DDL Script is defined in the org.eclipse.wst.rdb.core
plug-in, in the schema folder <span class=SpellE>ddlParser.exsd</span>.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span class=SpellE><span style='font-size:10.0pt;font-family:
Courier;mso-bidi-font-family:"Courier New";background:blue;mso-highlight:blue'>org.eclipse.wst.rdb.core.ddlParser</span></span><span
style='font-family:Courier'><o:p></o:p></span></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Sample plugin.xml:</p>
<p class=MsoNormal><span style='mso-tab-count:1'>            </span>……</p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>&lt;extension</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in;text-indent:.5in'><span class=GramE><span
style='font-size:10.0pt;background:white;mso-highlight:white'>point</span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>=<span
style='color:green'>&quot;<span class=SpellE>org.eclipse.wst.rdb.core.ddlParser</span>&quot;</span>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span><span style='mso-tab-count:1'>          </span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>&lt;</span><span
style='font-size:10.0pt'>parser<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span><span style='mso-tab-count:2'>                    </span></span><span
class=GramE><span style='font-size:10.0pt;background:white;mso-highlight:white'>version</span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>=<span
style='color:green'>&quot;10.0&quot;</span></span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>            </span><span style='mso-tab-count:2'>                    </span></span><span
class=GramE><span style='font-size:10.0pt;background:white;mso-highlight:white'>product</span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>=<span
style='color:green'>&quot;</span></span><st1:City><st1:place><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:maroon;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>           </span><span
style='mso-tab-count:3'>                                     </span>&lt;!—<span
class=GramE>You</span> need to add this class to </span><st1:City><st1:place><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'> plug-in
--&gt;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>            </span><span
style='mso-tab-count:3'>                                    </span></span><span
class=GramE><span style='font-size:10.0pt;background:white;mso-highlight:white'>class</span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>=<span
style='color:green'>&quot;org.eclipse.wst.rdb.derby.ddl.DerbyDdlEngineeringProvider&quot;</span>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>      </span><span style='mso-tab-count:1'>          </span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>&lt;/parser&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
background:white;mso-highlight:white'>&lt;/extension&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>…….<o:p></o:p></span></p>
<p class=MsoNormal>The <span class=SpellE>DerbyDdlEngineeringProvider</span>
class <span class=GramE>implements<span style='mso-spacerun:yes'>  </span>the</span>
following interface.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt'>public</span></span><span
style='font-size:10.0pt'> interface <span class=SpellE>DDLParser</span> {<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><span style='mso-tab-count:
1'>                </span><span class=GramE>public</span> Database[]
parse(String <span class=SpellE>fileName</span>, <span class=SpellE>IProgressMonitor</span>
<span class=SpellE>progressMonitor</span>);<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>}<o:p></o:p></span></p>
<h2><a name="_Contributing_a_new_JDBC driver for "></a><a
name="_Contributing_a_new_JDBC driver"></a><span style='font-style:normal'>Contributing
a new JDBC driver<o:p></o:p></span></h2>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<ul style='margin-top:0in' type=disc>
<li class=MsoNormal style='mso-list:l21 level1 lfo15;tab-stops:list .5in'>This
was touched on in the sample <st1:City><st1:place>Derby</st1:place></st1:City>
plug-in. See <a href="#_Add_New_JDBC_Driver">this section of the document</a>
for implementation details.<span style='font-size:10.0pt'><o:p></o:p></span></li>
</ul>
<p class=MsoNormal style='margin-left:.25in'><span style='font-size:10.0pt;
color:green'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='margin-left:.25in'><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p>&nbsp;</o:p></span></p>
<h2><a name="_Extension_point_for_DDL Code genera"></a><span style='font-style:
normal'>Extension point for DDL Code generation<o:p></o:p></span></h2>
<p class=MsoNormal>The extension point to implement DDL Code Generation (for
forward engineering) is defined in the <span class=SpellE>org.eclipse.wst.rdb.core</span>
plug-in, in the schema folder <span class=SpellE>ddlGeneration.exsd</span>.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span class=SpellE><span style='font-size:10.0pt;font-family:
Courier;mso-bidi-font-family:"Courier New";background:blue;mso-highlight:blue'>org.eclipse.wst.rdb.core.DDLGenerator</span></span><span
style='font-family:Courier'><o:p></o:p></span></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal>Sample plugin.xml:</p>
<p class=MsoNormal><span style='mso-tab-count:1'>            </span>……</p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>   </span><span
style='mso-tab-count:1'>             </span></span><span style='font-size:10.0pt;
background:white;mso-highlight:white'>&lt;extension</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='color:black;background:white;mso-highlight:
white'><span style='mso-spacerun:yes'>   </span><span style='mso-tab-count:
2'>                     </span></span><span style='font-size:10.0pt;background:
white;mso-highlight:white'>&lt;extension</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>         </span><span
style='mso-tab-count:1'>       </span><span style='mso-tab-count:2'>                                </span></span><span
class=GramE><span style='font-size:10.0pt;background:white;mso-highlight:white'>point</span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>=<span
style='color:green'>&quot;<span class=SpellE>org.eclipse.wst.rdb.core.ddlGeneration</span>&quot;</span>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>      </span><span
style='mso-tab-count:1'>          </span><span style='mso-tab-count:1'>                </span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>&lt;generator</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>            </span><span
style='mso-tab-count:1'>    </span><span style='mso-tab-count:2'>                                </span></span><span
class=GramE><span style='font-size:10.0pt;background:white;mso-highlight:white'>product</span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>=<span
style='color:green'>&quot;</span></span><st1:City><st1:place><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt;color:green;background:white;mso-highlight:white'>&quot;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>            </span><span
style='mso-tab-count:1'>    </span><span style='mso-tab-count:2'>                                </span></span><span
class=GramE><span style='font-size:10.0pt;background:white;mso-highlight:white'>version</span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>=<span
style='color:green'>&quot;10.0&quot;</span></span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:1.0in;text-indent:.5in'><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'>&lt;!—<span
class=GramE>You</span> need to add this to </span><st1:City><st1:place><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'>Derby</span></st1:place></st1:City><span
style='font-size:10.0pt;color:maroon;background:white;mso-highlight:white'> plug-in
--&gt;</span><span style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>            </span><span
style='mso-tab-count:3'>                                    </span></span><span
class=GramE><span style='font-size:10.0pt;background:white;mso-highlight:white'>class</span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>=<span
style='color:green'>&quot;<span class=SpellE>org.eclipse.wst.rdb.derby.ddl.DerbyDdlGenerator</span>&quot;</span>&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>      </span><span
style='mso-tab-count:1'>          </span><span style='mso-tab-count:1'>                </span></span><span
style='font-size:10.0pt;background:white;mso-highlight:white'>&lt;/generator&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>   </span><span
style='mso-tab-count:1'>             </span></span><span style='font-size:10.0pt;
background:white;mso-highlight:white'>&lt;/extension&gt;</span><span
style='font-size:10.0pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>…….<o:p></o:p></span></p>
<p class=MsoNormal>The <span class=SpellE><span style='background:white;
mso-highlight:white'>DerbyDdlGenerator</span></span> class implements the
following interface.</p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt'>public</span></span><span
style='font-size:10.0pt'> interface <span class=SpellE>DDLGenerator</span> {<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><span style='mso-tab-count:
1'>                </span><span class=GramE>public</span> String[] <span
class=SpellE>forwardEngineer</span>(<span class=SpellE>SQLObject</span>[]
elements, <span class=SpellE>IProgressMonitor</span> <span class=SpellE>progressMonitor</span>);<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><span style='mso-tab-count:
1'>                </span><span class=GramE>public</span> <span class=SpellE>EngineeringOption</span>[]
<span class=SpellE>getOptions</span>();<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>}<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<h1><a name="_Re-usable_Connection_Wizard_Pages"></a><span style='mso-font-kerning:
0pt'>Re-usable Connection Wizard Pages<o:p></o:p></span></h1>
<p class=MsoNormal><span style='font-size:10.0pt'>In a software development
tool, it is common for tools that access databases to require the user to specify
a database connection during a wizard-driven development task.<span
style='mso-spacerun:yes'>  </span>The user can typically choose from a list of
previously configured connections or specify the properties for a new
connection.<span style='mso-spacerun:yes'>  </span>The RDB component provides
two wizard pages that wizard developers can incorporate into their wizards to
accomplish this: the existing connections wizard page (<span class=SpellE>ExistingConnectionsWizardPage.java</span>)
and the JDBC configuration wizard page (<span class=SpellE>NewCWJDBCPage.java</span>).<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'>Features:<o:p></o:p></span></b></p>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></b></p>
<p class=MsoNormal><span style='font-size:10.0pt'>JDBC Connection Configuration
Page<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>1.<span style='mso-tab-count:
1'>             </span>Add new database manager<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>2.<span style='mso-tab-count:
1'>             </span>Add new JDBC driver<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>3.<span style='mso-tab-count:
1'>             </span>Set initial values for connection properties <o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>4.<span style='mso-tab-count:
1'>             </span>Restrict which database managers are displayed
(available WTP M4)<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><span
style='mso-spacerun:yes'>  </span><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>Existing Connections Page<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>1.<span style='mso-tab-count:
1'>             </span>Filter list of available connections<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>2.<span style='mso-tab-count:
1'>             </span>Modify displayed connection properties<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>3.<span style='mso-tab-count:
1'>             </span>Specify which existing connection is initially selected<o:p></o:p></span></p>
<p class=MsoNormal><o:p>&nbsp;</o:p></p>
<p class=MsoNormal><span style='font-size:10.0pt'>Sample code for the re-usable
connection wizard pages is available <a
href="http://www.eclipse.org/webtools/wst/components/rdb/sampleZip/connection_sample.zip">here.</a><o:p></o:p></span></p>
<h3><a name="_Add_New_Database_Manager"></a>Add New Database Manager</h3>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></b></p>
<p class=MsoNormal><span style='font-size:10.0pt'>The list of database managers
is generated by enumerating all of the available database definitions. For
example<span class=GramE>,<span style='mso-spacerun:yes'>  </span>the</span> <span
class=SpellE>org.eclipse.wst.rdb.dbdefinition.sybase</span> plug-in contains
the database definition for Sybase 12.x.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>The data definition defines
the data types supported by the database manager as well as other database
properties such as whether triggers and identity columns are supported.<span
style='mso-spacerun:yes'>  </span>New database definitions can be added to
expand the list of available database managers.<span style='mso-spacerun:yes'> 
</span>The details of implementing a database definition were covered <a
href="#_Creating_a_new_database vendor">earlier in this article</a>.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<h3><a name="_Add_New_JDBC_Driver"></a><span
style='mso-spacerun:yes'> </span>Add New JDBC Driver</h3>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></b></p>
<p class=MsoNormal><span style='font-size:10.0pt'>For each database manager,
new drivers can be added which will appear in the JDBC driver combo box. <span
style='mso-spacerun:yes'> </span>Adding new driver involves two steps:<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>1.<span style='mso-tab-count:
1'>             </span>Implement a class which implements the <span
class=SpellE>IServerConnectionUIProvider</span> interface.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>2.<span style='mso-tab-count:
1'>             </span>Register the class with the <span class=SpellE>org.eclipse.wst.rdb.connection.ui</span>.
<span class=GramE>-<span class=SpellE>connectionUIProvider</span> extension
point.</span><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
class=GramE><span style='font-size:8.0pt;font-family:"Courier New";color:maroon;
background:white;mso-highlight:white'>&lt;!--</span></span><span
style='font-size:8.0pt;font-family:"Courier New";color:maroon;background:white;
mso-highlight:white'> Extension for the &quot;Other&quot; driver in the new
Connection Wizard UI --&gt;</span><span style='font-size:8.0pt;font-family:
"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='font-size:8.0pt;font-family:"Courier New";color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>  </span></span><span
style='font-size:8.0pt;font-family:"Courier New";color:navy;background:white;
mso-highlight:white'>&lt;extension</span><span style='font-size:8.0pt;
font-family:"Courier New";color:black;background:white;mso-highlight:white'> </span><span
style='font-size:8.0pt;font-family:"Courier New";color:navy;background:white;
mso-highlight:white'>point</span><span style='font-size:8.0pt;font-family:"Courier New";
color:black;background:white;mso-highlight:white'> </span><span
style='font-size:8.0pt;font-family:"Courier New";color:navy;background:white;
mso-highlight:white'>=</span><span style='font-size:8.0pt;font-family:"Courier New";
color:black;background:white;mso-highlight:white'> </span><span
style='font-size:8.0pt;font-family:"Courier New";color:green;background:white;
mso-highlight:white'>&quot;<span class=SpellE>org.eclipse.wst.rdb.connection.ui.connectionUIProvider</span>&quot;</span><span
style='font-size:8.0pt;font-family:"Courier New";color:navy;background:white;
mso-highlight:white'>&gt;</span><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='font-size:8.0pt;font-family:"Courier New";color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>  </span><span
style='mso-tab-count:2'>            </span></span><span style='font-size:8.0pt;
font-family:"Courier New";color:navy;background:white;mso-highlight:white'>&lt;<span
class=SpellE>databaseDefinition</span></span><span style='font-size:8.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='font-size:8.0pt;font-family:"Courier New";color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>  </span><span
style='mso-tab-count:3'>                   </span></span><span class=GramE><span
style='font-size:8.0pt;font-family:"Courier New";color:navy;background:white;
mso-highlight:white'>product</span></span><span style='font-size:8.0pt;
font-family:"Courier New";color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:8.0pt;font-family:"Courier New";color:green;background:white;
mso-highlight:white'>&quot;*&quot;</span><span style='font-size:8.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='font-size:8.0pt;font-family:"Courier New";color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>  </span><span
style='mso-tab-count:3'>                   </span></span><span class=GramE><span
style='font-size:8.0pt;font-family:"Courier New";color:navy;background:white;
mso-highlight:white'>version</span></span><span style='font-size:8.0pt;
font-family:"Courier New";color:navy;background:white;mso-highlight:white'>=</span><span
style='font-size:8.0pt;font-family:"Courier New";color:green;background:white;
mso-highlight:white'>&quot;*&quot;</span><span style='font-size:8.0pt;
font-family:"Courier New";color:navy;background:white;mso-highlight:white'>&gt;</span><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='font-size:8.0pt;font-family:"Courier New";color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>  </span><span
style='mso-tab-count:2'>            </span></span><span style='font-size:8.0pt;
font-family:"Courier New";color:navy;background:white;mso-highlight:white'>&lt;/<span
class=SpellE>databaseDefinition</span>&gt;</span><span style='font-size:8.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='font-size:8.0pt;font-family:"Courier New";color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>  </span><span
style='mso-tab-count:2'>            </span></span><span style='font-size:8.0pt;
font-family:"Courier New";color:navy;background:white;mso-highlight:white'>&lt;<span
class=SpellE>driverContribution</span></span><span style='font-size:8.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='font-size:8.0pt;font-family:"Courier New";color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>  </span><span
style='mso-tab-count:3'>                   </span></span><span class=SpellE><span
class=GramE><span style='font-size:8.0pt;font-family:"Courier New";color:navy;
background:white;mso-highlight:white'>driverName</span></span></span><span
style='font-size:8.0pt;font-family:"Courier New";color:navy;background:white;
mso-highlight:white'>=</span><span style='font-size:8.0pt;font-family:"Courier New";
color:green;background:white;mso-highlight:white'>&quot;Other&quot;</span><span
style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='font-size:8.0pt;font-family:"Courier New";color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>  </span><span
style='mso-tab-count:2'>            </span><span style='mso-tab-count:1'>       </span></span><span
class=GramE><span style='font-size:8.0pt;font-family:"Courier New";color:navy;
background:white;mso-highlight:white'>uiContributor</span></span><span
style='font-size:8.0pt;font-family:"Courier New";color:navy;background:white;
mso-highlight:white'>=</span><span style='font-size:8.0pt;font-family:"Courier New";
color:green;background:white;mso-highlight:white'>&quot;org.eclipse.wst.rdb.connection.internal.ui.wizards.other.OtherNewConnectionProvider&quot;</span><span
style='font-size:8.0pt;font-family:"Courier New";color:navy;background:white;
mso-highlight:white'>&gt;</span><span style='font-size:8.0pt;font-family:"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='font-size:8.0pt;font-family:"Courier New";color:black;background:white;
mso-highlight:white'><span style='mso-spacerun:yes'>  </span><span
style='mso-tab-count:2'>            </span></span><span style='font-size:8.0pt;
font-family:"Courier New";color:navy;background:white;mso-highlight:white'>&lt;/<span
class=SpellE>driverContribution</span>&gt;</span><span style='font-size:8.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.25in'><span style='font-size:8.0pt;
font-family:"Courier New";color:black;background:white;mso-highlight:white'><span
style='mso-spacerun:yes'>  </span></span><span style='font-size:8.0pt;
font-family:"Courier New";color:navy;background:white;mso-highlight:white'>&lt;/extension&gt;</span><span
style='font-size:8.0pt;font-family:"Courier New";color:navy'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'>Note:<span
style='mso-spacerun:yes'>  </span>The product and version values can be
specific products and versions.<span style='mso-spacerun:yes'>  </span>These
product and version values should match a product and version defined in a
database definition.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<h3><a name="_Set_Initial_Values_for Connection P"></a>Set Initial Values for
Connection Properties<o:p></o:p></h3>
<p class=MsoNormal><span style='font-size:10.0pt'>The initial values for the
properties in the JDBC configuration can be set programmatically by calling the
<span class=SpellE><span class=GramE>setConnectionProperties</span></span><span
class=GramE>(</span>) method.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><span
style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'>Example:<o:p></o:p></span></b></p>
<p class=MsoNormal><span style='font-size:10.0pt'><span style='mso-tab-count:
3'>                                                </span><o:p></o:p></span></p>
<p class=MsoNormal><span class=SpellE><span style='font-size:10.0pt;font-family:
"Courier New"'>ConnectionWizardProperties</span></span><span style='font-size:
10.0pt;font-family:"Courier New"'> <span class=SpellE>wizProps</span> = new <span
class=SpellE><span class=GramE>ConnectionWizardProperties</span></span><span
class=GramE>(</span>);<o:p></o:p></span></p>
<p class=MsoNormal><span class=SpellE><span class=GramE><span style='font-size:
10.0pt;font-family:"Courier New"'>wizProps.setConnectionName</span></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:"Courier New"'>(</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'>&quot;SAMPLE&quot;);<o:p></o:p></span></p>
<p class=MsoNormal><span class=SpellE><span class=GramE><span style='font-size:
10.0pt;font-family:"Courier New"'>wizProps.setProduct</span></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:"Courier New"'>(</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'>&quot;DB2 UDB&quot;);<o:p></o:p></span></p>
<p class=MsoNormal><span class=SpellE><span class=GramE><span style='font-size:
10.0pt;font-family:"Courier New"'>wizProps.setVersion</span></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:"Courier New"'>(</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'>&quot;8.2&quot;);<o:p></o:p></span></p>
<p class=MsoNormal><span class=SpellE><span class=GramE><span style='font-size:
10.0pt;font-family:"Courier New"'>wizProps.setDriverName</span></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:"Courier New"'>(</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'>&quot;IBM DB2
Universal&quot;);<o:p></o:p></span></p>
<p class=MsoNormal><span class=SpellE><span class=GramE><span style='font-size:
10.0pt;font-family:"Courier New"'>wizProps.setClassLocation</span></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:"Courier New"'>(</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'>&quot;C:\\Program…<span
class=SpellE>cisuz.jar</span>&quot;);<o:p></o:p></span></p>
<p class=MsoNormal><span class=SpellE><span class=GramE><span style='font-size:
10.0pt;font-family:"Courier New"'>wizProps.setURL</span></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:"Courier New"'>(</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'>&quot;jdbc:db2://localhost:50000/SAMPLE&quot;);<o:p></o:p></span></p>
<p class=MsoNormal><span class=SpellE><span class=GramE><span style='font-size:
10.0pt;font-family:"Courier New"'>wizProps.setUserID</span></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:"Courier New"'>(</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'>&quot;db2admin&quot;);<o:p></o:p></span></p>
<p class=MsoNormal><span class=SpellE><span class=GramE><span style='font-size:
10.0pt;font-family:"Courier New"'>jdbcPage.setConnectionProperties</span></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:"Courier New"'>(</span></span><span
class=SpellE><span style='font-size:10.0pt;font-family:"Courier New"'>wizProps</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'>);<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<h3><a name="_Restrict_Which_Database_Managers Ar"></a>Restrict Which Database
Managers Are Displayed (available WTP M4)<o:p></o:p></h3>
<p class=MsoNormal><span style='font-size:10.0pt'>A wizard may want to restrict
the list of database managers available to the user.<span
style='mso-spacerun:yes'>  </span>The <span class=SpellE><span class=GramE>setAllowedProductVersions</span></span><span
class=GramE>(</span>) method allows the wizard to indicate which database
managers should be displayed.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'>Example:<o:p></o:p></span></b></p>
<p class=MsoNormal><span class=SpellE><span class=GramE><span style='font-size:
10.0pt;font-family:"Courier New"'>jdbcPage.setAllowedProductVersions</span></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:"Courier New"'>(</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:.5in'><span class=GramE><span
style='font-size:10.0pt;font-family:"Courier New"'>new</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span class=SpellE>DatabaseProductVersion</span>[]
{ <o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:.5in'><span class=GramE><span
style='font-size:10.0pt;font-family:"Courier New"'>new</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span class=SpellE>DatabaseProductVersion</span>(&quot;Sybase&quot;,
&quot;12.x&quot;)<o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt;
font-family:"Courier New"'>});<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><span
style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
<h3><a name="_Filter_List_of_Available Connection"></a>Filter List of Available
Connections<o:p></o:p></h3>
<p class=MsoNormal><span style='font-size:10.0pt'>In the existing connection
wizard page, the list of available connections may need to be restricted, for
example, to showing only the connection for a specific database manager.<span
style='mso-spacerun:yes'>  </span>This can be accomplished by extending the
existing connections wizard page and overriding the <span class=SpellE><span
class=GramE>getConnectionsToDisplay</span></span><span class=GramE>(</span>)
method.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'>Example:<o:p></o:p></span></b></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span class=GramE><span style='font-size:9.0pt;font-family:
"Courier New"'>protected</span></span><span style='font-size:9.0pt;font-family:
"Courier New"'> <span class=SpellE>ConnectionInfo</span>[] <span class=SpellE>getConnectionsToDisplay</span>()
{<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span>String vendor = &quot;DB2 UDB&quot;;<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span>String version = &quot;V8.2&quot;;<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span>Vector <span class=SpellE>filteredInfosCollection</span>
= new <span class=GramE>Vector(</span>);<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span><span class=SpellE><span class=GramE>ConnectionInfo</span></span><span
class=GramE>[</span>] <span class=SpellE>filteredInfos</span> = new <span
class=SpellE>ConnectionInfo</span>[] {};<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span><span class=SpellE><span class=GramE>ConnectionInfo</span></span><span
class=GramE>[</span>] <span class=SpellE>allInfos</span> = <span class=SpellE>RDBCorePlugin.getDefault</span>()<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>            </span>.<span class=SpellE><span
class=GramE>getConnectionManager</span></span><span class=GramE>(</span>).<span
class=SpellE>getAllNamedConnectionInfo</span>();<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span><span class=GramE>final</span> <span
class=SpellE>int</span> <span class=SpellE>infoLength</span> = <span
class=SpellE>allInfos.length</span>;<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span><span class=GramE>if</span> (<span
class=SpellE>infoLength</span> &gt; 0) {<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>        </span><span class=GramE>for</span> (<span
class=SpellE>int</span> index = 0; index &lt; <span class=SpellE>infoLength</span>;
index++) {<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>            </span><span class=SpellE><span
class=GramE>System.out.println</span></span><span class=GramE>(</span><span
class=SpellE>allInfos</span>[index].<span class=SpellE>getDatabaseDefinition</span>()<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>                    </span>.<span class=SpellE><span
class=GramE>getProduct</span></span><span class=GramE>()</span><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>                    </span>+ &quot;:&quot;<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>             </span><span
style='mso-spacerun:yes'>       </span>+ <span class=SpellE><span class=GramE>allInfos</span></span><span
class=GramE>[</span>index].<span class=SpellE>getDatabaseDefinition</span>().<span
class=SpellE>getVersion</span>());<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>            </span><span class=GramE>if</span> (<span
class=SpellE>allInfos</span>[index].<span class=SpellE>getDatabaseDefinition</span>().<span
class=SpellE>getProduct</span>()<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>                    </span>.<span class=GramE>equals(</span>vendor)<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>                    </span>&amp;&amp; <span
class=SpellE><span class=GramE>allInfos</span></span><span class=GramE>[</span>index].<span
class=SpellE>getDatabaseDefinition</span>().<span class=SpellE>getVersion</span>()<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>           </span><span
style='mso-spacerun:yes'>                 </span>.<span class=GramE>equals(</span>version))
{<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>                </span><span class=SpellE><span
class=GramE>filteredInfosCollection.add</span></span><span class=GramE>(</span><span
class=SpellE>allInfos</span>[index]);<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>            </span>}<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>            </span><span class=SpellE><span
class=GramE>filteredInfos</span></span> = new <span class=SpellE>ConnectionInfo</span>[<span
class=SpellE>filteredInfosCollection</span><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>                    </span>.<span class=GramE>size(</span>)];<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>            </span><span class=SpellE><span
class=GramE>filteredInfosCollection.copyInto</span></span><span class=GramE>(</span><span
class=SpellE>filteredInfos</span>);<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>        </span>}<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span>}<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span><span class=GramE>return</span> <span
class=SpellE>filteredInfos</span>;<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<h3><a name="_Modify_Displayed_Connection_Propert"></a>Modify Displayed
Connection Properties<o:p></o:p></h3>
<p class=MsoNormal><span style='font-size:10.0pt'>The properties displayed for
each connection in the existing connections wizard page can be modified by
extending the wizard page and overriding the <span class=SpellE><span
class=GramE>updateConnectionDisplayProperties</span></span><span class=GramE>(</span>)
method.<span style='mso-spacerun:yes'>  </span>The default properties can be
removed and/or new properties appended.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'>Example:<o:p></o:p></span></b></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt;font-family:
"Courier New"'>protected</span></span><span style='font-size:10.0pt;font-family:
"Courier New"'> <span class=SpellE>ConnectionDisplayProperty</span>[] <span
class=SpellE>updateConnectionDisplayProperties</span>(<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>        </span><span class=SpellE>ConnectionInfo</span>
<span class=SpellE>connectionInfo</span>,<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>        </span><span class=SpellE><span class=GramE>ConnectionDisplayProperty</span></span><span
class=GramE>[</span>] <span class=SpellE>defaultDisplayProperties</span>) {<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span><span class=SpellE><span class=GramE>ConnectionDisplayProperty</span></span><span
class=GramE>[</span>] properties = null;<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span>Vector <span class=SpellE>propertiesCollection</span>
= new <span class=GramE>Vector(</span>);<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span><span class=SpellE><span class=GramE>propertiesCollection.addAll</span></span><span
class=GramE>(</span><span class=SpellE>Arrays.asList</span>(<span class=SpellE>defaultDisplayProperties</span>));<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span><span class=SpellE><span class=GramE>propertiesCollection</span></span><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>            </span>.<span class=GramE>add(</span>new <span
class=SpellE>ConnectionDisplayProperty</span>(&quot;My Test Property&quot;,<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>                    </span><span class=SpellE><span
class=GramE>connectionInfo.getDatabaseProductVersion</span></span><span
class=GramE>(</span>)));<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span><span class=GramE>properties</span> = new <span
class=SpellE>ConnectionDisplayProperty</span>[<span class=SpellE>propertiesCollection.size</span>()];<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span><span class=SpellE><span class=GramE>propertiesCollection.toArray</span></span><span
class=GramE>(</span>properties);<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><span
style='mso-spacerun:yes'>    </span><span class=GramE>return</span> properties;<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><span
style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
<h3><a name="_Specify_Which_Existing_Connection I"></a>Specify Which Existing
Connection Is Initially Selected<o:p></o:p></h3>
<p class=MsoNormal><span style='font-size:10.0pt'>The initially selected
existing connection can be set by calling <span class=SpellE><span class=GramE>setDefaultConnection</span></span><span
class=GramE>(</span>).<span style='mso-spacerun:yes'>  </span>The specified
connection will appear selected in the existing connections wizard page.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:10.0pt'>Example:<o:p></o:p></span></b></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span class=SpellE><span class=GramE><span style='font-size:
10.0pt;font-family:"Courier New"'>myExistingConnectionsPage.setDefaultConnection</span></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:"Courier New"'>(</span></span><span
style='font-size:10.0pt;font-family:"Courier New"'>&quot;SAMPLE&quot;);<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><span
style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></p>
</div>
</body>
</html>