summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/Jar_ConnectivityTools.mk1
-rw-r--r--connectivity/qa/connectivity/tools/CRMDatabase.java16
-rw-r--r--connectivity/qa/connectivity/tools/FirebirdDatabase.java205
3 files changed, 8 insertions, 214 deletions
diff --git a/connectivity/Jar_ConnectivityTools.mk b/connectivity/Jar_ConnectivityTools.mk
index 3920a49bac12..fc8a861f2b8a 100644
--- a/connectivity/Jar_ConnectivityTools.mk
+++ b/connectivity/Jar_ConnectivityTools.mk
@@ -32,7 +32,6 @@ $(eval $(call gb_Jar_add_sourcefiles,ConnectivityTools,\
connectivity/qa/connectivity/tools/DatabaseAccess \
connectivity/qa/connectivity/tools/DataSource \
connectivity/qa/connectivity/tools/DbaseDatabase \
- connectivity/qa/connectivity/tools/FirebirdDatabase \
connectivity/qa/connectivity/tools/FlatFileDatabase \
connectivity/qa/connectivity/tools/HsqlColumnDescriptor \
connectivity/qa/connectivity/tools/HsqlDatabase \
diff --git a/connectivity/qa/connectivity/tools/CRMDatabase.java b/connectivity/qa/connectivity/tools/CRMDatabase.java
index a4ee92c3a057..3d33926280c3 100644
--- a/connectivity/qa/connectivity/tools/CRMDatabase.java
+++ b/connectivity/qa/connectivity/tools/CRMDatabase.java
@@ -43,7 +43,7 @@ public class CRMDatabase
private static final String INTEGER = "INTEGER";
private static final String VARCHAR50 = "VARCHAR(50)";
private final XMultiServiceFactory m_orb;
- private final FirebirdDatabase m_database;
+ private final HsqlDatabase m_database;
private final Connection m_connection;
/** constructs the CRM database
@@ -52,7 +52,7 @@ public class CRMDatabase
{
m_orb = _orb;
- m_database = new FirebirdDatabase( m_orb );
+ m_database = new HsqlDatabase( m_orb );
if ( _withUI )
{
@@ -81,14 +81,14 @@ public class CRMDatabase
{
m_orb = _orb;
- m_database = new FirebirdDatabase( m_orb, _existingDocumentURL );
+ m_database = new HsqlDatabase( m_orb, _existingDocumentURL );
m_connection = m_database.defaultConnection();
}
/** returns the database document underlying the CRM database
*/
- public final FirebirdDatabase getDatabase()
+ public final HsqlDatabase getDatabase()
{
return m_database;
}
@@ -141,7 +141,7 @@ public class CRMDatabase
new HsqlColumnDescriptor( "ID",INTEGER, HsqlColumnDescriptor.PRIMARY ),
new HsqlColumnDescriptor( "Name",VARCHAR50),
new HsqlColumnDescriptor( "Description", "VARCHAR(1024)" ),
- new HsqlColumnDescriptor( "Image", "BLOB SUB_TYPE -9546" ) } );
+ new HsqlColumnDescriptor( "Image", "LONGVARBINARY" ) } );
m_database.createTable( table, true );
m_database.executeSQL( "INSERT INTO \"categories\" ( \"ID\", \"Name\" ) VALUES ( 1, 'Food' )" );
@@ -166,7 +166,7 @@ public class CRMDatabase
new HsqlColumnDescriptor( "Address",VARCHAR50),
new HsqlColumnDescriptor( "City",VARCHAR50),
new HsqlColumnDescriptor( "Postal",VARCHAR50),
- new HsqlColumnDescriptor( "Comment","BLOB SUB_TYPE 1")} );
+ new HsqlColumnDescriptor( "Comment","LONGVARCHAR")} );
m_database.createTable( table, true );
m_database.executeSQL( "INSERT INTO \"customers\" VALUES(1,'Food, Inc.','Down Under','Melbourne','509','Preferred') " );
@@ -182,8 +182,8 @@ public class CRMDatabase
new HsqlColumnDescriptor( "ShipDate", "DATE" ) } );
m_database.createTable( table, true );
- m_database.executeSQL( "INSERT INTO \"orders\" (\"ID\", \"CustomerID\", \"OrderDate\") VALUES(1, 1, DATE '2009-01-01')" );
- m_database.executeSQL( "INSERT INTO \"orders\" VALUES(2, 2, DATE '2009-01-01', DATE '2009-01-23')" );
+ m_database.executeSQL( "INSERT INTO \"orders\" (\"ID\", \"CustomerID\", \"OrderDate\") VALUES(1, 1, {D '2009-01-01'})" );
+ m_database.executeSQL( "INSERT INTO \"orders\" VALUES(2, 2, {D '2009-01-01'}, {D '2009-01-23'})" );
table = new HsqlTableDescriptor( "orders_details",
new HsqlColumnDescriptor[] {
diff --git a/connectivity/qa/connectivity/tools/FirebirdDatabase.java b/connectivity/qa/connectivity/tools/FirebirdDatabase.java
deleted file mode 100644
index 46ad4709a812..000000000000
--- a/connectivity/qa/connectivity/tools/FirebirdDatabase.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * 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 .
- */
-package connectivity.tools;
-
-import com.sun.star.beans.PropertyValue;
-import com.sun.star.beans.PropertyState;
-import com.sun.star.beans.XPropertySet;
-import com.sun.star.container.ElementExistException;
-import com.sun.star.frame.XStorable;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.sdb.XOfficeDatabaseDocument;
-import com.sun.star.sdbc.SQLException;
-import com.sun.star.sdbcx.XAppend;
-import com.sun.star.sdbcx.XTablesSupplier;
-import com.sun.star.uno.UnoRuntime;
-
-import helper.URLHelper;
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-import org.junit.Assert;
-
-public class FirebirdDatabase extends AbstractDatabase
-{
-
-
- public FirebirdDatabase(final XMultiServiceFactory orb) throws Exception
- {
- super(orb);
- createDBDocument();
- }
-
-
- public FirebirdDatabase(final XMultiServiceFactory orb, final String _existingDocumentURL) throws Exception
- {
- super(orb, _existingDocumentURL);
- }
-
- /** creates an empty database document in a temporary location
- */
- private void createDBDocument() throws Exception
- {
- Assert.assertNull(m_documentFile);
- m_documentFile = File.createTempFile("testdb", ".odb");
- if ( m_documentFile.exists() )
- m_documentFile.delete();
- m_databaseDocumentFile = URLHelper.getFileURLFromSystemPath(m_documentFile);
-
- m_databaseDocument = UnoRuntime.queryInterface(
- XOfficeDatabaseDocument.class, m_orb.createInstance("com.sun.star.sdb.OfficeDatabaseDocument"));
- m_dataSource = new DataSource(m_databaseDocument.getDataSource());
-
- final XPropertySet dsProperties = UnoRuntime.queryInterface(XPropertySet.class, m_databaseDocument.getDataSource());
- dsProperties.setPropertyValue("URL", "sdbc:embedded:hsqldb");
-
- final XStorable storable = UnoRuntime.queryInterface(XStorable.class, m_databaseDocument);
- storable.storeAsURL( m_databaseDocumentFile, new PropertyValue[]
- { new PropertyValue( "PickListEntry", 0, false, PropertyState.DIRECT_VALUE )
- } );
- }
-
- @Override protected final void delete() {
- if (m_documentFile != null) {
- boolean ok = m_documentFile.delete();
- //TODO: fails on Windows: Assert.assertTrue("delete " + m_documentFile.getPath(), ok);
- }
- }
-
- /** drops the table with a given name
-
- @param _name
- the name of the table to drop
- */
- private void dropTable(final String _name) throws SQLException
- {
- final StringBuffer dropStatement = new StringBuffer("EXECUTE BLOCK AS BEGIN"
- + " if (exists(select 1 from rdb$relations where rdb$relation_name ='");
- dropStatement.append(_name);
- dropStatement.append("')) then execute statement 'DROP TABLE ");
- dropStatement.append(_name);
- dropStatement.append("'; END");
- executeSQL(dropStatement.toString());
- }
-
- public void createTable(final HsqlTableDescriptor _tableDesc, final boolean _dropIfExists) throws SQLException
- {
- if (_dropIfExists)
- {
- dropTable(_tableDesc.getName());
- }
- createTable(_tableDesc);
- }
-
- /** creates a table
- */
- public void createTable(final HsqlTableDescriptor _tableDesc) throws SQLException
- {
- StringBuffer createStatement = new StringBuffer("CREATE TABLE \"");
- createStatement.append(_tableDesc.getName());
- createStatement.append("\" ( ");
-
- String primaryKeyList = "";
-
- final HashMap<String, String> foreignKeys = new HashMap<String, String>();
- final HashMap<String, String> foreignKeyRefs = new HashMap<String, String>();
-
- final HsqlColumnDescriptor[] columns = _tableDesc.getColumns();
- for (int i = 0; i < columns.length; ++i)
- {
- if (i > 0)
- {
- createStatement.append(", ");
- }
-
- createStatement.append("\"").append(columns[i].getName());
- createStatement.append("\" ").append(columns[i].getTypeName());
-
- if (columns[i].isRequired())
- {
- createStatement.append(" NOT NULL");
- }
-
- if (columns[i].isPrimaryKey())
- {
- if (primaryKeyList.length() > 0)
- {
- primaryKeyList += ", ";
- }
- primaryKeyList += "\"" + columns[i].getName() + "\"";
- }
-
- if (columns[i].isForeignKey())
- {
- final String foreignTable = columns[i].getForeignTable();
-
- String foreignKeysForTable = foreignKeys.containsKey(foreignTable) ? foreignKeys.get(foreignTable) : "";
- if (foreignKeysForTable.length() > 0)
- {
- foreignKeysForTable += ", ";
- }
- foreignKeysForTable += "\"" + columns[i].getName() + "\"";
- foreignKeys.put(foreignTable, foreignKeysForTable);
-
- final StringBuffer foreignKeyRefsForTable = new StringBuffer(foreignKeyRefs.containsKey(foreignTable) ? foreignKeyRefs.get(foreignTable) : "");
- if (foreignKeyRefsForTable.length() > 0)
- {
- foreignKeyRefsForTable.append(", ");
- }
- foreignKeyRefsForTable.append("\"").append(columns[i].getForeignColumn()).append("\"");
- foreignKeyRefs.put(foreignTable, foreignKeyRefsForTable.toString());
- }
- }
-
- if (primaryKeyList.length() > 0)
- {
- createStatement.append(", PRIMARY KEY (");
- createStatement.append(primaryKeyList);
- createStatement.append(')');
- }
-
- for (Map.Entry<String, String> foreignKey : foreignKeys.entrySet())
- {
- final String foreignTable = foreignKey.getKey();
-
- createStatement.append(", FOREIGN KEY (");
- createStatement.append(foreignKey.getValue());
- createStatement.append(") REFERENCES \"");
- createStatement.append(foreignTable);
- createStatement.append("\"(");
- createStatement.append(foreignKeyRefs.get(foreignTable));
- createStatement.append(')');
- }
-
- createStatement.append(')');
-
- executeSQL(createStatement.toString());
- }
-
- /** creates a table in the database. using the SDBCX-API
- */
- public void createTableInSDBCX(final HsqlTableDescriptor _tableDesc) throws SQLException, ElementExistException
- {
- final XPropertySet sdbcxDescriptor = _tableDesc.createSdbcxDescriptor(defaultConnection());
- final XTablesSupplier suppTables = UnoRuntime.queryInterface( XTablesSupplier.class, defaultConnection().getXConnection() );
- final XAppend appendTable = UnoRuntime.queryInterface( XAppend.class, suppTables.getTables() );
- appendTable.appendByDescriptor(sdbcxDescriptor);
- }
-
- private File m_documentFile;
-}