This utility provides a jar file to be used by RDB DAS sample applications (web or standalone) to do database setup.
So far the samples provided canned pre-created Derby database with tables
and data. There was no convenient way to refresh table
data during the samples execution. This utility supports
APIs
<table> element lists tables in proper sequence, i.e.
parent tables first and then child tables. This sequence will be used in
create,insert,delete,drop
to take care of referential integrity.
The config file required by utility supports the following features through
different attributes and elements. Sample xml file is shown at the end.
This element
provides connection specific information - like vendor specific database URL,
user name, password etc. If the DataSource is
element inside ConnectionInfo. These two ways of connection specification are
mutually exclusive.
This
element needs to specify the table names required by the sample. Only these
tables will be considered for creation, data population. This
To use this utility, include its jar and required database driver's jar in the classpath.
Provide the config file used by this utility , similar to the example below, in
the source folder of the sample.
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<DBConfig xmlns="http:///org.apache.tuscany.das.rdb/dbconfig.xsd">
<ConnectionInfo>
<ConnectionProperties
driverClass="org.apache.derby.jdbc.EmbeddedDriver"
databaseURL="jdbc:derby:target/dastest; create = true"
loginTimeout="600000"/>
</ConnectionInfo>
<Table name="COMPANY"
SQLCreate="CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME VARCHAR(30), EOTMID INTEGER)" >
<row>51, 'ACME Publishing', 0</row>
<row>52, 'Do-rite plumbing', 0</row>
<row>53, 'MegaCorp', 0</row>
</Table>
<Table name="DEPARTMENT"
SQLCreate="CREATE TABLE DEPARTMENT (ID INT PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY, NAME
VARCHAR(30),LOCATION VARCHAR(30), DEPNUMBER VARCHAR(10),COMPANYID INT)" >
<row>'Advanced Technologies', 'NY', '123', 1</row>
<row>'Default Name', '', '', 51</row>
<row>'Default Name', '', '', 51</row>
<row>'Default Name', '', '', 51</row>
<row>'Default Name', '', '', 51</row>
<row>'Default Name', '', '', 51</row>
<row>'Default Name', '', '', 51</row>
</Table>
<Table name="EMPLOYEE"
SQLCreate="CREATE TABLE EMPLOYEE (ID INT PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY,NAME
VARCHAR(30),SN VARCHAR(10), MANAGER SMALLINT, DEPARTMENTID INT)" >
<row>'John Jones','E0001',0,12</row>
<row>'Mary Smith','E0002',1,null</row>
<row>'Jane
Doe','E0003',0,12</row>
<row>'Al
Smith','E0004',1,12</row>
</Table>
</DBConfig>