Version 1.1.0
- First steps towards a mvn/tyco build (see bug 331001)
diff --git a/derby/org.eclipse.gemini.dbaccess.derby/META-INF/MANIFEST.MF b/derby/org.eclipse.gemini.dbaccess.derby/META-INF/MANIFEST.MF
index ed0cc3d..cd70ad7 100644
--- a/derby/org.eclipse.gemini.dbaccess.derby/META-INF/MANIFEST.MF
+++ b/derby/org.eclipse.gemini.dbaccess.derby/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2

 Bundle-Name: Gemini DBAccess (Incubation)

 Bundle-SymbolicName: org.eclipse.gemini.dbaccess.derby

-Bundle-Version: 1.0.0.M1-incubation

+Bundle-Version: 1.1.0.qualifier

 Bundle-Activator: org.eclipse.gemini.dbaccess.derby.Activator

 Bundle-Vendor: Oracle Corporation

 Bundle-RequiredExecutionEnvironment: J2SE-1.5

@@ -11,5 +11,6 @@
  org.apache.derby.jdbc,

  org.osgi.framework;version="[1.3,2)",

  org.osgi.service.jdbc;version="[1.0,2.0)"

+Bundle-ActivationPolicy: lazy

 

 

diff --git a/doc/GettingStarted.txt b/doc/GettingStarted.txt
index a565615..1be5d2a 100644
--- a/doc/GettingStarted.txt
+++ b/doc/GettingStarted.txt
@@ -47,6 +47,36 @@
 

 *** Note: These bundles are shipped with Gemini DBAccess.

 

+Maven Build

+-----------

+

+1) Install Maven 3.

+2) You may need to configure the proxy settings. In case you are behind a firewall, edit the file 

+/mvn_parent/settings.xml and replace the TODOs with the right proxy settings.

+3) To execute the build, go into /mvn_parent and run on the command line:

+> mvn clean install

+or, if you have configured the settings.xml:

+> mvn -fae -s settings.xml clean install

+

+

+Some remarks on what the build does:

+- the folder /mvn_parent contains a pom.xml which is the "parent" of all

+subprojects. Every bundle which is build has its own pom.xml file

+- it builds every bundle (result as usually for maven is under /target in the

+respective directory)

+- A feature, which currently includes everything except the tests, is also built.

+- An update site is generated: /gemini.dbaccess.updatesite . When this is build, you

+should find there under /target/site/ a p2 repository containing the feature

+and all plugins included into it. 

+- currently not all tests are executed

+- If you add findbugs:findbugs at the end of the command line, you'll find in the different

+/target directories which are produced some information from findbugs. This could be aggregated 

+and displayed in late stage by Hudson. To try it, just run:

+> mvn clean install findbugs:findbugs

+or, if you have configured the settings.xml:

+> mvn -fae -s settings.xml clean install findbugs:findbugs

+

+

 Installation

 ------------

 

@@ -54,8 +84,5 @@
 into your workspace. If you are not using PDE, but are using the framework directly then follow the 

 documentation of the framework for installing the bundles.

 

-

-Configuration

--------------

-

-Gemini DBAccess does not require any special environment configuration.
\ No newline at end of file
+To run compile the projects in Eclipse, you have to open the gemini.dbaccess.targetdef project, 

+open the file gemini.dbaccess.target with the Target Editor and execute "Set as Target Platform"

diff --git a/gemini.dbaccess.feature/.gitignore b/gemini.dbaccess.feature/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/gemini.dbaccess.feature/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/gemini.dbaccess.feature/.project b/gemini.dbaccess.feature/.project
new file mode 100644
index 0000000..1d01d41
--- /dev/null
+++ b/gemini.dbaccess.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.gemini.dbaccess.feature</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

+			<name>org.eclipse.pde.FeatureBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

+		<nature>org.eclipse.pde.FeatureNature</nature>

+	</natures>

+</projectDescription>

diff --git a/gemini.dbaccess.feature/about.html b/gemini.dbaccess.feature/about.html
new file mode 100644
index 0000000..abeef48
--- /dev/null
+++ b/gemini.dbaccess.feature/about.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

+<html>

+<head>

+<title>About</title>

+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">

+</head>

+<body lang="EN-US">

+<h2>About This Content</h2>

+ 

+<p>June 7, 2007</p>	

+<h3>License</h3>

+

+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 

+indicated below, the Content is provided to you under the terms and conditions of the

+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 

+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.

+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>

+

+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 

+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may

+apply to your use of any object code in the Content.  Check the Redistributor's license that was 

+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise

+indicated below, the terms and conditions of the EPL still apply to any source code in the Content

+and such source code may be obtained at <a href="/">http://www.eclipse.org</a>.</p>

+

+</body>

+</html>
\ No newline at end of file
diff --git a/gemini.dbaccess.feature/build.properties b/gemini.dbaccess.feature/build.properties
new file mode 100644
index 0000000..aa6e03d
--- /dev/null
+++ b/gemini.dbaccess.feature/build.properties
@@ -0,0 +1,10 @@
+bin.includes = feature.xml,\

+               about.html,\

+               epl-v10.html,\

+               license.html,\

+               feature.properties

+src.includes = license.html,\

+               feature.xml,\

+               feature.properties,\

+               epl-v10.html,\

+               about.html

diff --git a/gemini.dbaccess.feature/epl-v10.html b/gemini.dbaccess.feature/epl-v10.html
new file mode 100644
index 0000000..90f2d5e
--- /dev/null
+++ b/gemini.dbaccess.feature/epl-v10.html
@@ -0,0 +1,328 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"

+xmlns:w="urn:schemas-microsoft-com:office:word"

+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 9">

+<meta name=Originator content="Microsoft Word 9">

+<link rel=File-List

+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">

+<title>Eclipse Public License - Version 1.0</title>

+<!--[if gte mso 9]><xml>

+ <o:DocumentProperties>

+  <o:Revision>2</o:Revision>

+  <o:TotalTime>3</o:TotalTime>

+  <o:Created>2004-03-05T23:03:00Z</o:Created>

+  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>

+  <o:Pages>4</o:Pages>

+  <o:Words>1626</o:Words>

+  <o:Characters>9270</o:Characters>

+   <o:Lines>77</o:Lines>

+  <o:Paragraphs>18</o:Paragraphs>

+  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>

+  <o:Version>9.4402</o:Version>

+ </o:DocumentProperties>

+</xml><![endif]--><!--[if gte mso 9]><xml>

+ <w:WordDocument>

+  <w:TrackRevisions/>

+ </w:WordDocument>

+</xml><![endif]-->

+<style>

+<!--

+ /* Font Definitions */

+@font-face

+	{font-family:Tahoma;

+	panose-1:2 11 6 4 3 5 4 4 2 4;

+	mso-font-charset:0;

+	mso-generic-font-family:swiss;

+	mso-font-pitch:variable;

+	mso-font-signature:553679495 -2147483648 8 0 66047 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:"Times New Roman";}

+p

+	{margin-right:0in;

+	mso-margin-top-alt:auto;

+	mso-margin-bottom-alt:auto;

+	margin-left:0in;

+	mso-pagination:widow-orphan;

+	font-size:12.0pt;

+	font-family:"Times New Roman";

+	mso-fareast-font-family:"Times New Roman";}

+p.BalloonText, li.BalloonText, div.BalloonText

+	{mso-style-name:"Balloon Text";

+	margin:0in;

+	margin-bottom:.0001pt;

+	mso-pagination:widow-orphan;

+	font-size:8.0pt;

+	font-family:Tahoma;

+	mso-fareast-font-family:"Times New Roman";}

+@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;}

+-->

+</style>

+</head>

+

+<body lang=EN-US style='tab-interval:.5in'>

+

+<div class=Section1>

+

+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>

+</p>

+

+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER

+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,

+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE

+OF THIS AGREEMENT.</span> </p>

+

+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>

+

+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)

+in the case of the initial Contributor, the initial code and documentation

+distributed under this Agreement, and<br clear=left>

+b) in the case of each subsequent Contributor:</span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)

+changes to the Program, and</span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)

+additions to the Program;</span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where

+such changes and/or additions to the Program originate from and are distributed

+by that particular Contributor. A Contribution 'originates' from a Contributor

+if it was added to the Program by such Contributor itself or anyone acting on

+such Contributor's behalf. Contributions do not include additions to the

+Program which: (i) are separate modules of software distributed in conjunction

+with the Program under their own license agreement, and (ii) are not derivative

+works of the Program. </span></p>

+

+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or

+entity that distributes the Program.</span> </p>

+

+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent

+claims licensable by a Contributor which are necessarily infringed by the use

+or sale of its Contribution alone or when combined with the Program. </span></p>

+

+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions

+distributed in accordance with this Agreement.</span> </p>

+

+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who

+receives the Program under this Agreement, including all Contributors.</span> </p>

+

+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)

+Subject to the terms of this Agreement, each Contributor hereby grants Recipient

+a non-exclusive, worldwide, royalty-free copyright license to<span

+style='color:red'> </span>reproduce, prepare derivative works of, publicly

+display, publicly perform, distribute and sublicense the Contribution of such

+Contributor, if any, and such derivative works, in source code and object code

+form.</span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)

+Subject to the terms of this Agreement, each Contributor hereby grants

+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free

+patent license under Licensed Patents to make, use, sell, offer to sell, import

+and otherwise transfer the Contribution of such Contributor, if any, in source

+code and object code form. This patent license shall apply to the combination

+of the Contribution and the Program if, at the time the Contribution is added

+by the Contributor, such addition of the Contribution causes such combination

+to be covered by the Licensed Patents. The patent license shall not apply to

+any other combinations which include the Contribution. No hardware per se is

+licensed hereunder. </span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)

+Recipient understands that although each Contributor grants the licenses to its

+Contributions set forth herein, no assurances are provided by any Contributor

+that the Program does not infringe the patent or other intellectual property

+rights of any other entity. Each Contributor disclaims any liability to Recipient

+for claims brought by any other entity based on infringement of intellectual

+property rights or otherwise. As a condition to exercising the rights and

+licenses granted hereunder, each Recipient hereby assumes sole responsibility

+to secure any other intellectual property rights needed, if any. For example,

+if a third party patent license is required to allow Recipient to distribute

+the Program, it is Recipient's responsibility to acquire that license before

+distributing the Program.</span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)

+Each Contributor represents that to its knowledge it has sufficient copyright

+rights in its Contribution, if any, to grant the copyright license set forth in

+this Agreement. </span></p>

+

+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>

+

+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the

+Program in object code form under its own license agreement, provided that:</span>

+</p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)

+it complies with the terms and conditions of this Agreement; and</span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)

+its license agreement:</span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)

+effectively disclaims on behalf of all Contributors all warranties and

+conditions, express and implied, including warranties or conditions of title

+and non-infringement, and implied warranties or conditions of merchantability

+and fitness for a particular purpose; </span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)

+effectively excludes on behalf of all Contributors all liability for damages,

+including direct, indirect, special, incidental and consequential damages, such

+as lost profits; </span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)

+states that any provisions which differ from this Agreement are offered by that

+Contributor alone and not by any other party; and</span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)

+states that source code for the Program is available from such Contributor, and

+informs licensees how to obtain it in a reasonable manner on or through a

+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>

+

+<p><span style='font-size:10.0pt'>When the Program is made available in source

+code form:</span> </p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)

+it must be made available under this Agreement; and </span></p>

+

+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a

+copy of this Agreement must be included with each copy of the Program. </span></p>

+

+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any

+copyright notices contained within the Program. </span></p>

+

+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the

+originator of its Contribution, if any, in a manner that reasonably allows

+subsequent Recipients to identify the originator of the Contribution. </span></p>

+

+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>

+

+<p><span style='font-size:10.0pt'>Commercial distributors of software may

+accept certain responsibilities with respect to end users, business partners

+and the like. While this license is intended to facilitate the commercial use

+of the Program, the Contributor who includes the Program in a commercial

+product offering should do so in a manner which does not create potential

+liability for other Contributors. Therefore, if a Contributor includes the

+Program in a commercial product offering, such Contributor (&quot;Commercial

+Contributor&quot;) hereby agrees to defend and indemnify every other

+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and

+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other

+legal actions brought by a third party against the Indemnified Contributor to

+the extent caused by the acts or omissions of such Commercial Contributor in

+connection with its distribution of the Program in a commercial product

+offering. The obligations in this section do not apply to any claims or Losses

+relating to any actual or alleged intellectual property infringement. In order

+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial

+Contributor in writing of such claim, and b) allow the Commercial Contributor

+to control, and cooperate with the Commercial Contributor in, the defense and

+any related settlement negotiations. The Indemnified Contributor may participate

+in any such claim at its own expense.</span> </p>

+

+<p><span style='font-size:10.0pt'>For example, a Contributor might include the

+Program in a commercial product offering, Product X. That Contributor is then a

+Commercial Contributor. If that Commercial Contributor then makes performance

+claims, or offers warranties related to Product X, those performance claims and

+warranties are such Commercial Contributor's responsibility alone. Under this

+section, the Commercial Contributor would have to defend claims against the

+other Contributors related to those performance claims and warranties, and if a

+court requires any other Contributor to pay any damages as a result, the

+Commercial Contributor must pay those damages.</span> </p>

+

+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>

+

+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS

+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT

+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,

+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,

+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely

+responsible for determining the appropriateness of using and distributing the

+Program and assumes all risks associated with its exercise of rights under this

+Agreement , including but not limited to the risks and costs of program errors,

+compliance with applicable laws, damage to or loss of data, programs or

+equipment, and unavailability or interruption of operations. </span></p>

+

+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>

+

+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS

+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR

+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY

+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING

+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF

+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF

+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>

+

+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>

+

+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid

+or unenforceable under applicable law, it shall not affect the validity or

+enforceability of the remainder of the terms of this Agreement, and without

+further action by the parties hereto, such provision shall be reformed to the

+minimum extent necessary to make such provision valid and enforceable.</span> </p>

+

+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation

+against any entity (including a cross-claim or counterclaim in a lawsuit)

+alleging that the Program itself (excluding combinations of the Program with

+other software or hardware) infringes such Recipient's patent(s), then such

+Recipient's rights granted under Section 2(b) shall terminate as of the date

+such litigation is filed. </span></p>

+

+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement

+shall terminate if it fails to comply with any of the material terms or

+conditions of this Agreement and does not cure such failure in a reasonable

+period of time after becoming aware of such noncompliance. If all Recipient's

+rights under this Agreement terminate, Recipient agrees to cease use and

+distribution of the Program as soon as reasonably practicable. However,

+Recipient's obligations under this Agreement and any licenses granted by

+Recipient relating to the Program shall continue and survive. </span></p>

+

+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute

+copies of this Agreement, but in order to avoid inconsistency the Agreement is

+copyrighted and may only be modified in the following manner. The Agreement

+Steward reserves the right to publish new versions (including revisions) of

+this Agreement from time to time. No one other than the Agreement Steward has

+the right to modify this Agreement. The Eclipse Foundation is the initial

+Agreement Steward. The Eclipse Foundation may assign the responsibility to

+serve as the Agreement Steward to a suitable separate entity. Each new version

+of the Agreement will be given a distinguishing version number. The Program

+(including Contributions) may always be distributed subject to the version of

+the Agreement under which it was received. In addition, after a new version of

+the Agreement is published, Contributor may elect to distribute the Program

+(including its Contributions) under the new version. Except as expressly stated

+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to

+the intellectual property of any Contributor under this Agreement, whether

+expressly, by implication, estoppel or otherwise. All rights in the Program not

+expressly granted under this Agreement are reserved.</span> </p>

+

+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the

+State of New York and the intellectual property laws of the United States of

+America. No party to this Agreement will bring a legal action under this

+Agreement more than one year after the cause of action arose. Each party waives

+its rights to a jury trial in any resulting litigation.</span> </p>

+

+<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>

+

+</div>

+

+</body>

+

+</html>
\ No newline at end of file
diff --git a/gemini.dbaccess.feature/feature.properties b/gemini.dbaccess.feature/feature.properties
new file mode 100644
index 0000000..c0a10f1
--- /dev/null
+++ b/gemini.dbaccess.feature/feature.properties
@@ -0,0 +1,171 @@
+###############################################################################

+# Copyright (c) 2010 SAP AG

+# All rights reserved. This program and the accompanying materials

+# are made available under the terms of the Eclipse Public License v1.0

+# which accompanies this distribution, and is available at

+# http://www.eclipse.org/legal/epl-v10.html

+# 

+# Contributors:

+#    SAP AG - initial implementation

+###############################################################################

+# feature.properties

+# contains externalized strings for feature.xml

+# "%foo" in feature.xml corresponds to the key "foo" in this file

+# java.io.Properties file (ISO 8859-1 with "\" escapes)

+# This file should be translated.

+

+# "featureName" property - name of the feature

+featureName=Gemini DBAccess (Incubation)

+

+# "providerName" property - name of the company that provides the feature

+providerName=Eclipse Gemini DBAccess

+

+# "description" property - description of the feature

+description=Gemini DBAccess Feature

+

+# "updateSiteName" property - label for the update site

+updateSiteName=Gemini DBAccess Update Site

+

+# "copyright" property - text of the "Feature Update Copyright"

+copyright=\

+Copyright (c) 2010 Oracle Corporation and others\n\

+All rights reserved. This program and the accompanying materials\n\

+are made available under the terms of the Eclipse Public License v1.0\n\

+which accompanies this distribution, and is available at\n\

+http://www.eclipse.org/legal/epl-v10.html\n\

+\n\

+Contributors:\n\

+    Oracle Corporation - initial API and implementation\n

+

+################ end of copyright property ####################################

+

+# "licenseURL" property - URL of the "Feature License"

+# do not translate value - just change to point to a locale-specific HTML page

+licenseURL=license.html

+

+# "license" property - text of the "Feature Update License"

+# should be plain text version of license agreement pointed to be "licenseURL"

+license=\

+Eclipse Foundation Software User Agreement\n\

+April 14, 2010\n\

+\n\

+Usage Of Content\n\

+\n\

+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\

+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\

+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\

+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\

+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\

+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\

+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\

+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\

+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\

+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\

+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\

+\n\

+Applicable Licenses\n\

+\n\

+Unless otherwise indicated, all Content made available by the\n\

+Eclipse Foundation is provided to you under the terms and conditions of\n\

+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\

+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\

+For purposes of the EPL, "Program" will mean the Content.\n\

+\n\

+Content includes, but is not limited to, source code, object code,\n\

+documentation and other files maintained in the Eclipse Foundation source code\n\

+repository ("Repository") in software modules ("Modules") and made available\n\

+as downloadable archives ("Downloads").\n\

+\n\

+       - Content may be structured and packaged into modules to facilitate delivering,\n\

+         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\

+         plug-in fragments ("Fragments"), and features ("Features").\n\

+       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\

+         in a directory named "plugins".\n\

+       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\

+         Each Feature may be packaged as a sub-directory in a directory named "features".\n\

+         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\

+         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\

+       - Features may also include other Features ("Included Features"). Within a Feature, files\n\

+         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\

+\n\

+The terms and conditions governing Plug-ins and Fragments should be\n\

+contained in files named "about.html" ("Abouts"). The terms and\n\

+conditions governing Features and Included Features should be contained\n\

+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\

+Licenses may be located in any directory of a Download or Module\n\

+including, but not limited to the following locations:\n\

+\n\

+       - The top-level (root) directory\n\

+       - Plug-in and Fragment directories\n\

+       - Inside Plug-ins and Fragments packaged as JARs\n\

+       - Sub-directories of the directory named "src" of certain Plug-ins\n\

+       - Feature directories\n\

+\n\

+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\

+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\

+Update License") during the installation process. If the Feature contains\n\

+Included Features, the Feature Update License should either provide you\n\

+with the terms and conditions governing the Included Features or inform\n\

+you where you can locate them. Feature Update Licenses may be found in\n\

+the "license" property of files named "feature.properties" found within a Feature.\n\

+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\

+terms and conditions (or references to such terms and conditions) that\n\

+govern your use of the associated Content in that directory.\n\

+\n\

+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\

+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\

+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\

+\n\

+       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\

+       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\

+       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\

+       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\

+       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\

+\n\

+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\

+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\

+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\

+govern that particular Content.\n\

+\n\

+\n\Use of Provisioning Technology\n\

+\n\

+The Eclipse Foundation makes available provisioning software, examples of which include,\n\

+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\

+the purpose of allowing users to install software, documentation, information and/or\n\

+other materials (collectively "Installable Software"). This capability is provided with\n\

+the intent of allowing such users to install, extend and update Eclipse-based products.\n\

+Information about packaging Installable Software is available at\n\

+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\

+\n\

+You may use Provisioning Technology to allow other parties to install Installable Software.\n\

+You shall be responsible for enabling the applicable license agreements relating to the\n\

+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\

+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\

+making it available in accordance with the Specification, you further acknowledge your\n\

+agreement to, and the acquisition of all necessary rights to permit the following:\n\

+\n\

+       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\

+          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\

+          extending or updating the functionality of an Eclipse-based product.\n\

+       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\

+          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\

+       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\

+          govern the use of the Installable Software ("Installable Software Agreement") and such\n\

+          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\

+          with the Specification. Such Installable Software Agreement must inform the user of the\n\

+          terms and conditions that govern the Installable Software and must solicit acceptance by\n\

+          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\

+          indication of agreement by the user, the provisioning Technology will complete installation\n\

+          of the Installable Software.\n\

+\n\

+Cryptography\n\

+\n\

+Content may contain encryption software. The country in which you are\n\

+currently may have restrictions on the import, possession, and use,\n\

+and/or re-export to another country, of encryption software. BEFORE\n\

+using any encryption software, please check the country's laws,\n\

+regulations and policies concerning the import, possession, or use, and\n\

+re-export of encryption software, to see if this is permitted.\n\

+\n\

+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n

+########### end of license property ##########################################

diff --git a/gemini.dbaccess.feature/feature.xml b/gemini.dbaccess.feature/feature.xml
new file mode 100644
index 0000000..01fed59
--- /dev/null
+++ b/gemini.dbaccess.feature/feature.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<feature

+      id="org.eclipse.gemini.dbaccess.feature"

+      label="%featureName"

+      version="1.1.0.qualifier"

+      provider-name="%providerName"

+      plugin="org.eclipse.gemini.dbaccess.derby">

+

+   <description>

+      %description

+   </description>

+

+   <copyright>

+      %copyright

+   </copyright>

+

+   <license url="%licenseURL">

+      %license

+   </license>

+

+   <url>

+      <update label="%updateSiteName" url="http://download.eclipse.org/TODO/update-site/"/>

+   </url>

+

+<!--

+   <requires>

+      <import plugin="org.eclipse.birt.chart.engine" version="2.2.0" match="greaterOrEqual"/>

+      <import plugin="org.eclipse.mat.ui" version="1.0.0" match="greaterOrEqual"/>

+      <import plugin="org.eclipse.ui" version="3.3.0" match="greaterOrEqual"/>

+      <import plugin="org.eclipse.ui.forms" version="3.3.0" match="greaterOrEqual"/>

+      <import plugin="org.eclipse.birt.chart.device.extension" version="2.2.0" match="greaterOrEqual"/>

+      <import plugin="org.eclipse.birt.chart.device.swt" version="2.2.0" match="greaterOrEqual"/>

+      <import plugin="org.eclipse.birt.chart.engine.extension" version="2.2.0" match="greaterOrEqual"/>

+      <import plugin="org.eclipse.birt.core" version="2.2.0" match="greaterOrEqual"/>

+      <import feature="org.eclipse.mat.feature" version="1.0.0" match="greaterOrEqual"/>

+   </requires>

+-->

+

+   <plugin

+         id="osgi.enterprise"

+         version="0.0.0"

+         unpack="false"/>

+

+   <plugin

+         id="org.apache.derby"

+         version="0.0.0"

+         unpack="false"/>

+

+   <plugin

+         id="org.eclipse.gemini.dbaccess.derby"

+         version="0.0.0"

+         unpack="false"/>

+

+   <plugin

+         id="org.eclipse.gemini.dbaccess.samples"

+         version="0.0.0"

+         unpack="false"/>

+

+</feature>

diff --git a/gemini.dbaccess.feature/license.html b/gemini.dbaccess.feature/license.html
new file mode 100644
index 0000000..c184ca3
--- /dev/null
+++ b/gemini.dbaccess.feature/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 14, 2010</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/gemini.dbaccess.feature/pom.xml b/gemini.dbaccess.feature/pom.xml
new file mode 100644
index 0000000..dc5d2f6
--- /dev/null
+++ b/gemini.dbaccess.feature/pom.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>

+

+<!--

+    Copyright (c) 2010 SAP AG.

+    All rights reserved. This program and the accompanying materials

+    are made available under the terms of the Eclipse Public License v1.0

+    which accompanies this distribution, and is available at

+    http://www.eclipse.org/legal/epl-v10.html

+   

+    Contributors:

+        ktsvetkov - initial implementation

+ -->

+

+<project xmlns="http://maven.apache.org/POM/4.0.0"

+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+  <modelVersion>4.0.0</modelVersion>

+

+  <parent>

+    <groupId>org.eclipse</groupId>

+    <artifactId>gemini.dbaccess.parent</artifactId>

+    <version>1.1.0-SNAPSHOT</version>

+    <relativePath>../mvn_parent</relativePath>

+  </parent>

+

+  <artifactId>org.eclipse.gemini.dbaccess.feature</artifactId>

+  <packaging>eclipse-feature</packaging>

+

+</project>

diff --git a/gemini.dbaccess.targetdef/.project b/gemini.dbaccess.targetdef/.project
new file mode 100644
index 0000000..c40434a
--- /dev/null
+++ b/gemini.dbaccess.targetdef/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>gemini.dbaccess.targetdef</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+	</buildSpec>

+	<natures>

+	</natures>

+</projectDescription>

diff --git a/gemini.dbaccess.targetdef/gemini.dbaccess.target b/gemini.dbaccess.targetdef/gemini.dbaccess.target
new file mode 100644
index 0000000..277ec89
--- /dev/null
+++ b/gemini.dbaccess.targetdef/gemini.dbaccess.target
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.6"?>
+
+<target name="Gemini DBAccess Target Platform" sequenceNumber="0">
+<locations>
+<location includeAllPlatforms="false" includeMode="planner" includeSource="false" type="InstallableUnit">
+<unit id="org.eclipse.core.runtime" version="0.0.0"/>
+<unit id="org.eclipse.core.runtime.source" version="0.0.0"/>
+<unit id="org.eclipse.osgi.source" version="0.0.0"/>
+<unit id="org.junit" version="0.0.0"/>
+<repository location="http://download.eclipse.org/eclipse/updates/3.6/"/>
+</location>
+</locations>
+<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+</target>
diff --git a/gemini.dbaccess.targetdef/pom.xml b/gemini.dbaccess.targetdef/pom.xml
new file mode 100644
index 0000000..707ad9a
--- /dev/null
+++ b/gemini.dbaccess.targetdef/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+    Copyright (c) 2010 SAP AG.

+    All rights reserved. This program and the accompanying materials

+    are made available under the terms of the Eclipse Public License v1.0

+    which accompanies this distribution, and is available at

+    http://www.eclipse.org/legal/epl-v10.html

+   

+    Contributors:

+        ktsvetkov - initial implementation

+ -->

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

+  <modelVersion>4.0.0</modelVersion>

+

+  <parent>

+    <groupId>org.eclipse</groupId>

+    <artifactId>gemini.dbaccess.parent</artifactId>

+    <version>1.1.0-SNAPSHOT</version>

+    <relativePath>../mvn_parent</relativePath>

+  </parent>

+

+  <artifactId>org.eclipse.gemini.dbaccess.targetdef</artifactId>

+  <packaging>pom</packaging>

+  

+  <build>

+    <plugins>

+      <plugin>

+          <groupId>org.codehaus.mojo</groupId>

+          <artifactId>build-helper-maven-plugin</artifactId>

+          <version>1.3</version>

+          <executions>

+          <execution>

+            <id>attach-artifacts</id>

+            <phase>package</phase>

+            <goals>

+              <goal>attach-artifact</goal>

+            </goals>

+            <configuration>

+              <artifacts>

+                <artifact>

+                  <file>gemini.dbaccess.target</file>

+                  <type>target</type>

+                  <classifier>gemini.dbaccess.target</classifier>

+                </artifact>

+              </artifacts>

+            </configuration>

+          </execution>

+        </executions>

+      </plugin>

+    </plugins>

+  </build>

+

+</project>

diff --git a/gemini.dbaccess.updatesite/.gitignore b/gemini.dbaccess.updatesite/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/gemini.dbaccess.updatesite/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/gemini.dbaccess.updatesite/.project b/gemini.dbaccess.updatesite/.project
new file mode 100644
index 0000000..2ff2803
--- /dev/null
+++ b/gemini.dbaccess.updatesite/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>gemini.dbaccess.updatesite</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+	</buildSpec>

+	<natures>

+	</natures>

+</projectDescription>

diff --git a/gemini.dbaccess.updatesite/pom.xml b/gemini.dbaccess.updatesite/pom.xml
new file mode 100644
index 0000000..6765624
--- /dev/null
+++ b/gemini.dbaccess.updatesite/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"

+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

+	<modelVersion>4.0.0</modelVersion>

+        <parent>

+          <groupId>org.eclipse</groupId>

+          <artifactId>gemini.dbaccess.parent</artifactId>

+          <version>1.1.0-SNAPSHOT</version>

+          <relativePath>../mvn_parent</relativePath>

+        </parent>

+

+	<artifactId>org.eclipse.gemini.dbaccess.updatesite</artifactId>

+	<packaging>eclipse-update-site</packaging>

+

+</project>
\ No newline at end of file
diff --git a/gemini.dbaccess.updatesite/site.xml b/gemini.dbaccess.updatesite/site.xml
new file mode 100644
index 0000000..5c567d0
--- /dev/null
+++ b/gemini.dbaccess.updatesite/site.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<site pack200="true">

+   <feature url="org.eclipse.gemini.dbaccess.feature_0.0.0.jar" id="org.eclipse.gemini.dbaccess.feature" version="0.0.0">

+      <category name="Gemini"/>

+   </feature>

+   <category-def name="Gemini" label="Gemini"/>

+</site>

diff --git a/mvn_parent/.project b/mvn_parent/.project
new file mode 100644
index 0000000..e396e87
--- /dev/null
+++ b/mvn_parent/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>mvn_parent</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+	</buildSpec>

+	<natures>

+	</natures>

+</projectDescription>

diff --git a/mvn_parent/pom.xml b/mvn_parent/pom.xml
new file mode 100644
index 0000000..db000d2
--- /dev/null
+++ b/mvn_parent/pom.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+    Copyright (c) 2010 SAP AG.

+    All rights reserved. This program and the accompanying materials

+    are made available under the terms of the Eclipse Public License v1.0

+    which accompanies this distribution, and is available at

+    http://www.eclipse.org/legal/epl-v10.html

+   

+    Contributors:

+        ktsvetkov - initial implementation

+ -->

+

+<project xmlns="http://maven.apache.org/POM/4.0.0"

+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+  <modelVersion>4.0.0</modelVersion>

+

+  <prerequisites>

+    <maven>3.0</maven>

+  </prerequisites>

+

+  <groupId>org.eclipse</groupId>

+  <artifactId>gemini.dbaccess.parent</artifactId>

+  <version>1.1.0-SNAPSHOT</version>

+  <packaging>pom</packaging>

+

+  <name>Gemini DBAccess Parent (Incubation)</name>

+

+  <properties>

+    <tycho-version>0.11.0</tycho-version>

+  </properties>

+

+  <modules>

+	<module>../gemini.dbaccess.targetdef</module>

+	<module>../osgi.enterprise</module>

+	<module>../derby/org.apache.derby</module>

+	<module>../derby/org.eclipse.gemini.dbaccess.derby</module>

+	<module>../samples/org.eclipse.gemini.dbaccess.samples</module>

+	<module>../test/org.eclipse.gemini.dbaccess.test</module>

+	<module>../gemini.dbaccess.feature</module>

+	<module>../gemini.dbaccess.updatesite</module>

+  </modules>

+

+

+  <build>

+    <plugins>

+      <plugin>

+        <groupId>org.sonatype.tycho</groupId>

+        <artifactId>tycho-maven-plugin</artifactId>

+        <version>${tycho-version}</version>

+        <extensions>true</extensions>

+      </plugin>

+	<plugin>

+		<groupId>org.sonatype.tycho</groupId>

+		<artifactId>target-platform-configuration</artifactId>

+		<version>${tycho-version}</version>

+		<configuration>

+			<resolver>p2</resolver>

+		</configuration>

+	</plugin>

+   </plugins>

+    <pluginManagement>

+      <plugins>

+        <plugin>

+          <groupId>org.sonatype.tycho</groupId>

+          <artifactId>maven-osgi-compiler-plugin</artifactId>

+          <version>${tycho-version}</version>

+          <configuration>

+            <encoding>UTF-8</encoding>

+          </configuration>

+        </plugin>

+        <plugin>

+          <groupId>org.apache.maven.plugins</groupId>

+          <artifactId>maven-resources-plugin</artifactId>

+          <version>2.4.1</version>

+          <configuration>

+            <encoding>ISO-8859-1</encoding>

+          </configuration>

+        </plugin>

+        <plugin>

+          <groupId>org.sonatype.tycho</groupId>

+          <artifactId>target-platform-configuration</artifactId>

+          <version>${tycho-version}</version>

+				<configuration>

+					<resolver>p2</resolver>

+					<target>

+						<artifact>

+							<groupId>org.eclipse</groupId>

+							<artifactId>org.eclipse.gemini.dbaccess.targetdef</artifactId>

+							<version>1.1.0-SNAPSHOT</version>

+							<classifier>gemini.dbaccess</classifier>

+						</artifact>

+					</target>

+					<ignoreTychoRepositories>true</ignoreTychoRepositories>

+				</configuration>

+        </plugin>

+		<plugin>

+			<groupId>org.codehaus.mojo</groupId>

+			<artifactId>findbugs-maven-plugin</artifactId>

+			<version>2.3</version>

+			<configuration>

+				<findbugsXmlOutput>true</findbugsXmlOutput>

+				<findbugsXmlWithMessages>true</findbugsXmlWithMessages>

+				<xmlOutput>true</xmlOutput>

+			</configuration>

+		</plugin>		

+      </plugins>

+    </pluginManagement>

+  	<sourceDirectory>src</sourceDirectory>

+  </build>

+</project>

+

diff --git a/mvn_parent/settings.xml b/mvn_parent/settings.xml
new file mode 100644
index 0000000..7981fd0
--- /dev/null
+++ b/mvn_parent/settings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>

+

+<settings xmlns="http://maven.apache.org/settings/1.0.0"

+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

+	<pluginGroups>

+	</pluginGroups>

+

+  <proxies>

+    <proxy>

+      <active/>

+      <protocol>http</protocol>

+      <username/>

+      <password/>

+      <port>TODO-proxy-port</port>

+      <host>TODO-proxy-host</host>

+      <nonProxyHosts>TODO-no-proxy-host</nonProxyHosts>

+      <id/>

+    </proxy>

+  </proxies>

+

+</settings>

diff --git a/osgi.enterprise/META-INF/MANIFEST.MF b/osgi.enterprise/META-INF/MANIFEST.MF
index 38ce0bd..edd6b8e 100644
--- a/osgi.enterprise/META-INF/MANIFEST.MF
+++ b/osgi.enterprise/META-INF/MANIFEST.MF
@@ -94,3 +94,4 @@
 Bundle-License: http://opensource.org/licenses/apache2.0.php; link="http://www.apache.org/licenses/LICENSE-2.0"; description="Apache License, Version 2.0"
 Bnd-LastModified: 1269033188762
 Bundle-Description: OSGi Service Platform Release 4 Version 4.2, Enterprise Interfaces and Classes for use in compiling bundles.
+Bundle-ActivationPolicy: lazy
diff --git a/samples/org.eclipse.gemini.dbaccess.samples/META-INF/MANIFEST.MF b/samples/org.eclipse.gemini.dbaccess.samples/META-INF/MANIFEST.MF
index 0161f86..3570101 100644
--- a/samples/org.eclipse.gemini.dbaccess.samples/META-INF/MANIFEST.MF
+++ b/samples/org.eclipse.gemini.dbaccess.samples/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Gemini DBAccess Samples (Incubation)
 Bundle-SymbolicName: org.eclipse.gemini.dbaccess.samples
-Bundle-Version: 1.0.0.M1-incubation
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.gemini.dbaccess.samples.DataSourceClientExample
 Import-Package: javax.sql, 
  org.osgi.framework;version="1.3.0",
diff --git a/test/org.eclipse.gemini.dbaccess.test/META-INF/MANIFEST.MF b/test/org.eclipse.gemini.dbaccess.test/META-INF/MANIFEST.MF
index 7f48d70..fed5df8 100644
--- a/test/org.eclipse.gemini.dbaccess.test/META-INF/MANIFEST.MF
+++ b/test/org.eclipse.gemini.dbaccess.test/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Gemini DBAccess Tests (Incubation)
 Bundle-SymbolicName: org.eclipse.gemini.dbaccess.test
-Bundle-Version: 1.0.0.M1-incubation
-Bundle-Activator: org.eclipse.gemini.dbaccess.test.Activator
-Import-Package: javax.sql, 
+Bundle-Version: 1.1.0.qualifier
+Import-Package: javax.sql,
  org.junit;version="4.5.0",
  org.junit.runner;version="4.5.0",
  org.junit.runner.notification;version="4.5.0",
- org.osgi.framework;version="1.3.0",
+ org.osgi.framework;version="1.5.0",
  org.osgi.service.jdbc;version="1.0.0",
  org.osgi.util.tracker;version="1.4"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
 
 
diff --git a/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/Activator.java b/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/Activator.java
deleted file mode 100644
index 829e325..0000000
--- a/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/Activator.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Oracle.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * and Apache License v2.0 which accompanies this distribution. 

- * The Eclipse Public License is available at

- *     http://www.eclipse.org/legal/epl-v10.html

- * and the Apache License v2.0 is available at 

- *     http://www.opensource.org/licenses/apache2.0.php.

- * You may elect to redistribute this code under either of these licenses.

- *

- * Contributors:

- *     mkeith - Gemini DBAccess tests 

- ******************************************************************************/

-package org.eclipse.gemini.dbaccess.test;

-

-import org.junit.runner.JUnitCore;

-import org.junit.runner.Result;

-import org.junit.runner.notification.Failure;

-

-import org.osgi.framework.Bundle;

-import org.osgi.framework.BundleActivator;

-import org.osgi.framework.BundleContext;

-import org.osgi.framework.ServiceReference;

-

-import org.osgi.util.tracker.ServiceTracker;

-import org.osgi.util.tracker.ServiceTrackerCustomizer;

-

-import org.osgi.service.jdbc.DataSourceFactory;

-

-/**

- * Activator to start tests when relevant service becomes available

- * 

- * @author mkeith

- */

-public class Activator implements BundleActivator, ServiceTrackerCustomizer {

-

-    ServiceTracker dsfTracker;

-    int serviceCount = 0;

-

-    BundleContext ctx;

-    

-    public void start(BundleContext context) throws Exception {

-        log("JDBC Tests active ");

-

-        ctx = context;

-        JdbcTests.context = context;

-                

-        dsfTracker = new ServiceTracker(ctx, DataSourceFactory.class.getName(), this);

-        dsfTracker.open();

-        

-        // Run tests from tracker when service is online

-    }

-

-    public void stop(BundleContext context) throws Exception {

-        dsfTracker.close();        

-    }

-

-    void runTest(String descr, Class<?> testClass) {

-        log("Running " + descr + ": ");

-        

-        Result r = JUnitCore.runClasses(testClass);

-

-        log(descr + " results: ");

-        logResultStats(r);

-

-        log("Done " + descr);

-    }

-

-    /* ServiceTracker methods */

-

-    public Object addingService(ServiceReference ref) {

-        Bundle b = ref.getBundle();

-        Object service = b.getBundleContext().getService(ref);

-        

-        String driver = (String)ref.getProperty(DataSourceFactory.OSGI_JDBC_DRIVER_CLASS);

-

-        if (driver!= null) {

-            // We have a JDBC service

-            log("Test notified of service: " + driver);

-            // Don't start the tests until we have all of them 

-            if (++serviceCount < 4) return service;

-            

-            log("Running tests");

-            

-            // Now run the tests

-            runTest("Derby Embedded tests", EmbeddedDriverTests.class);

-            runTest("Derby JDBC 4 Embedded tests", Jdbc4EmbeddedDriverTests.class);

-            runTest("Derby ClientDriver tests", ClientDriverTests.class);

-            runTest("Derby JDBC 4 ClientDriver tests", Jdbc4ClientDriverTests.class);

-        }

-        return service;

-    }

-

-    public void modifiedService(ServiceReference ref, Object service) {}

-

-    public void removedService(ServiceReference ref, Object service) {

-        ctx.ungetService(ref);

-    }

-

-    void logResultStats(Result r) {

-        log("Result: " + 

-                " runs=" + r.getRunCount() + 

-                " failures=" + r.getFailureCount() +

-                " ignore=" + r.getIgnoreCount());        

-        log("Failures: " + r.getFailures());

-        for (Failure f : r.getFailures())

-            log("--- Failure: \n" + f.getTrace());

-    }

-    

-    static void log(String msg) {

-        System.out.println("===== " + msg);

-    }    

-}

diff --git a/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/ClientDriverTests.java b/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/ClientDriverTests.java
index ec81b19..44469f2 100644
--- a/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/ClientDriverTests.java
+++ b/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/ClientDriverTests.java
@@ -43,7 +43,7 @@
         dsf = null;

     }

     

-    Properties getDataSourceProperties() {

+    protected Properties getDataSourceProperties() {

         Properties props = new Properties();

         props.put(DataSourceFactory.JDBC_SERVER_NAME, "localhost");

         props.put(DataSourceFactory.JDBC_PORT_NUMBER, "1527");

@@ -56,7 +56,7 @@
         return props;

     }

 

-    Properties getUrlProperties() {

+    protected Properties getUrlProperties() {

         Properties props = new Properties();

         props.put(DataSourceFactory.OSGI_JDBC_DRIVER_NAME,

                 "org.apache.derby.jdbc.ClientDriver");

diff --git a/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/EmbeddedDriverTests.java b/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/EmbeddedDriverTests.java
deleted file mode 100644
index 70d461d..0000000
--- a/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/EmbeddedDriverTests.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Oracle.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * and Apache License v2.0 which accompanies this distribution. 

- * The Eclipse Public License is available at

- *     http://www.eclipse.org/legal/epl-v10.html

- * and the Apache License v2.0 is available at 

- *     http://www.opensource.org/licenses/apache2.0.php.

- * You may elect to redistribute this code under either of these licenses.

- *

- * Contributors:

- *     mkeith - Gemini DBAccess tests 

- ******************************************************************************/

-package org.eclipse.gemini.dbaccess.test;

-

-import java.util.Properties;

-

-import org.junit.*;

-import org.osgi.service.jdbc.DataSourceFactory;

-

-/**

- * Test class to test OSGi JDBC embedded driver data source factory service

- * 

- * @author mkeith

- */

-public class EmbeddedDriverTests extends JdbcTests {

-    

-    public static String EMBEDDED_DRIVER_NAME = "org.apache.derby.jdbc.EmbeddedDriver";

-    public static String JDBC_VERSION = "3.0";

-    

-    @BeforeClass

-    public static void classSetUp() {

-        log("In EmbeddedDriverTests setup");

-        dsf = lookupDsf(EMBEDDED_DRIVER_NAME, JDBC_VERSION);

-        log("Found DSF service - " + dsf);

-    }

-

-    @AfterClass

-    public static void classCleanUp() {

-        dsf = null;

-    }

-

-    Properties getDataSourceProperties() {

-        Properties props = new Properties();

-        props.put(DataSourceFactory.JDBC_DATABASE_NAME, "accountDB");

-//        props.put(DataSourceFactory.JDBC_USER, "app");

-//        props.put(DataSourceFactory.JDBC_PASSWORD, "app");

-        return props;

-    }

-

-    Properties getUrlProperties() {

-        Properties props = new Properties();

-        props.put(DataSourceFactory.OSGI_JDBC_DRIVER_NAME,

-                "org.apache.derby.jdbc.EmbeddedDriver");

-        props.put(DataSourceFactory.JDBC_URL,

-                "jdbc:derby:accountDB;create=true");

-//        props.put(DataSourceFactory.JDBC_USER, "app");

-//        props.put(DataSourceFactory.JDBC_PASSWORD, "app");

-        return props;

-    }

-}

diff --git a/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/Jdbc4EmbeddedDriverTests.java b/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/Jdbc4EmbeddedDriverTests.java
deleted file mode 100644
index b1ea976..0000000
--- a/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/Jdbc4EmbeddedDriverTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Oracle.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * and Apache License v2.0 which accompanies this distribution. 

- * The Eclipse Public License is available at

- *     http://www.eclipse.org/legal/epl-v10.html

- * and the Apache License v2.0 is available at 

- *     http://www.opensource.org/licenses/apache2.0.php.

- * You may elect to redistribute this code under either of these licenses.

- *

- * Contributors:

- *     mkeith - Gemini DBAccess tests 

- ******************************************************************************/

-package org.eclipse.gemini.dbaccess.test;

-

-import org.junit.*;

-

-/**

- * Test class to test OSGi JDBC 4 embedded driver data source factory service

- * 

- * @author mkeith

- */

-public class Jdbc4EmbeddedDriverTests extends EmbeddedDriverTests {

-    

-    public static String EMBEDDED_DRIVER_NAME = "org.apache.derby.jdbc.EmbeddedDriver";

-    public static String JDBC_4_VERSION = "4.0";

-    

-    @BeforeClass

-    public static void classSetUp() {

-        log("In Jdbc4EmbeddedDriverTests setup");

-        dsf = lookupDsf(EMBEDDED_DRIVER_NAME, JDBC_4_VERSION);

-        log("Found DSF service - " + dsf);

-    }

-

-    @AfterClass

-    public static void classCleanUp() {

-        dsf = null;

-    }

-}

diff --git a/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/JdbcTests.java b/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/JdbcTests.java
index e80a10a..5d69c57 100644
--- a/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/JdbcTests.java
+++ b/test/org.eclipse.gemini.dbaccess.test/src/org/eclipse/gemini/dbaccess/test/JdbcTests.java
@@ -25,13 +25,17 @@
 import javax.sql.XAConnection;

 import javax.sql.XADataSource;

 

+import org.osgi.framework.Bundle;

 import org.osgi.framework.BundleContext;

+import org.osgi.framework.FrameworkUtil;

 import org.osgi.framework.InvalidSyntaxException;

 import org.osgi.framework.ServiceReference;

 import org.osgi.service.jdbc.DataSourceFactory;

 

 import org.junit.*;

 

+import static org.junit.Assert.*;

+

 /**

  * Abstract test class to test OSGi JDBC data source factory services

  * 

@@ -45,8 +49,17 @@
     //-------------------------------------------

     // Test classes must override these methods

     //-------------------------------------------

-    abstract Properties getUrlProperties();

-    abstract Properties getDataSourceProperties();

+    protected abstract Properties getUrlProperties();

+    protected abstract Properties getDataSourceProperties();

+	private static final String ORG_ECLIPSE_GEMINI_DBACCESS = "org.eclipse.gemini.dbaccess.derby";

+

+

+	@BeforeClass

+	public static void setUpClass() throws Exception {

+		context = FrameworkUtil.getBundle(JdbcTests.class).getBundleContext();

+		assertNotNull("Bundle context is null", context);

+		startBundle(ORG_ECLIPSE_GEMINI_DBACCESS);

+	}

 

     //-------------------------------------------

     // Test methods

@@ -115,7 +128,7 @@
         xa_con.close();

     }

 

-    @Test

+    @Test(expected=SQLException.class)

     public void testErrorCase1() throws Exception {

         log("testErrorCase");

         try {

@@ -123,48 +136,68 @@
             ds.getConnection();

         } catch (SQLException sqlEx) {

             log("Caught expected exception: " + sqlEx);

-            return;

+            throw sqlEx;

         }

-        assert(false);

     }

 

     //-------------------------------------------

     // Helper methods

     //-------------------------------------------

 

-    Properties getErrorProperties() {

+    private Properties getErrorProperties() {

         Properties props = new Properties();

         props.put("errorProperty", "errorValue");

         return props;

     }

     

-    void executeJdbcStatement(Connection con) throws Exception {

+    private void executeJdbcStatement(Connection con) throws Exception {

         Statement stmt = con.createStatement();

         boolean result = stmt.execute("SET CURRENT SCHEMA USER");

         log("SQL result: " + result);

         stmt.close();

     }

 

-    public static DataSourceFactory lookupDsf(String driverName, String version) {

+    protected static DataSourceFactory lookupDsf(String driverName, String version) {

         log("Lookup (" + driverName + ", " + version + ")");

         String filter = "(&("+DataSourceFactory.OSGI_JDBC_DRIVER_CLASS+"="+driverName+")("+

                          DataSourceFactory.OSGI_JDBC_DRIVER_VERSION+"="+version+"))";

         log("Filter is: " + filter);

         ServiceReference[] refs = null;

         try {

-            refs = context.getServiceReferences(DataSourceFactory.class.getName(), filter);

+            refs = getContext().getServiceReferences(DataSourceFactory.class.getName(), filter);

         } catch (InvalidSyntaxException isEx) {

             new RuntimeException("Bad filter", isEx);

         }

         log("DSF Service refs looked up from registry: " + refs);

         return (refs == null)

             ? null

-            : (DataSourceFactory) context.getService(refs[0]);

+            : (DataSourceFactory) getContext().getService(refs[0]);

     }

     

-    static void log(String msg) {

+	private static BundleContext getContext() {

+		return context;

+	}

+    

+    protected static void log(String msg) {

         System.out.println("*** JdbcTest: " + msg);

     }

     

+	private static void startBundle(String name) throws Exception {

+		Bundle bundle = getBundle(name);

+		Assert.assertNotNull("Could not find bundle [" + name + "]", bundle);

+		if (bundle.getState() != Bundle.ACTIVE) {

+			bundle.start();

+		}

+	}

+	

+	private static Bundle getBundle(String symbolicName) {

+		Bundle[] bundles = context.getBundles();

+		for (Bundle bundle : bundles) {

+			if (bundle.getSymbolicName().equals(symbolicName)) {

+				return bundle;

+			}

+		}

+		return null;

+	}

     

 }