diff options
Diffstat (limited to 'connectivity/qa')
31 files changed, 550 insertions, 434 deletions
diff --git a/connectivity/qa/drivers/dbase/DBaseDriverTest.java b/connectivity/qa/complex/connectivity/DBaseDriverTest.java index 2e2920b4145b..5b9e456ab367 100644..100755 --- a/connectivity/qa/drivers/dbase/DBaseDriverTest.java +++ b/connectivity/qa/complex/connectivity/DBaseDriverTest.java @@ -24,36 +24,18 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -package qa.drivers.dbase; +package complex.connectivity; -import com.sun.star.sdbc.*; +import complex.connectivity.dbase.DBaseDateFunctions; +import complex.connectivity.dbase.DBaseStringFunctions; +import complex.connectivity.dbase.DBaseSqlTests; +import complex.connectivity.dbase.DBaseNumericFunctions; import com.sun.star.lang.XMultiServiceFactory; import complexlib.ComplexTestCase; -import java.util.*; -import java.io.*; import share.LogWriter; -//import complex.connectivity.DBaseStringFunctions; -public class DBaseDriverTest extends ComplexTestCase +public class DBaseDriverTest extends ComplexTestCase implements TestCase { - - private static Properties props = new Properties(); - private XDriver m_xDiver; - private String where = "FROM \"biblio\" \"biblio\" where \"Identifier\" = 'BOR00'"; - - static - { - try - { - String propsFile = "test.properties"; - props.load(new FileInputStream(propsFile)); - } - catch (Exception ex) - { - throw new RuntimeException(ex); - } - } - public String[] getTestMethodNames() { return new String[] @@ -62,19 +44,21 @@ public class DBaseDriverTest extends ComplexTestCase }; } + @Override public String getTestObjectName() { return "DBaseDriverTest"; } - public void assure2(String s, boolean b) + @Override + public void assure( final String i_message, final boolean i_condition ) { - assure(s, b); + super.assure( i_message, i_condition ); } public LogWriter getLog() { - return log; + return ComplexTestCase.log; } public void Functions() throws com.sun.star.uno.Exception, com.sun.star.beans.UnknownPropertyException diff --git a/connectivity/qa/complex/connectivity/FlatFileAccess.java b/connectivity/qa/complex/connectivity/FlatFileAccess.java new file mode 100755 index 000000000000..3f0481684827 --- /dev/null +++ b/connectivity/qa/complex/connectivity/FlatFileAccess.java @@ -0,0 +1,237 @@ +package complex.connectivity; + +import com.sun.star.beans.XPropertySet; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.sdb.CommandType; +import com.sun.star.sdbc.SQLException; +import com.sun.star.util.Date; +import complexlib.ComplexTestCase; +import connectivity.tools.CsvDatabase; +import connectivity.tools.RowSet; +import java.io.File; +import java.io.FileOutputStream; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.List; + +public class FlatFileAccess extends ComplexTestCase +{ + public FlatFileAccess() + { + super(); + } + + @Override + public String[] getTestMethodNames() + { + return new String[] { + "testBasicAccess", + "testCalendarFunctions", + "testSortingByFunction" + }; + } + + @Override + public String getTestObjectName() + { + return "FlatFileAccess"; + } + + public void before() throws Exception + { + m_database = new CsvDatabase( (XMultiServiceFactory)param.getMSF() ); + + // proper settings + final XPropertySet dataSourceSettings = m_database.getDataSource().geSettings(); + dataSourceSettings.setPropertyValue( "Extension", "csv" ); + dataSourceSettings.setPropertyValue( "HeaderLine", Boolean.TRUE ); + dataSourceSettings.setPropertyValue( "FieldDelimiter", " " ); + m_database.store(); + + // write the table(s) for our test + final String tableLocation = m_database.getTableFileLocation().getAbsolutePath(); + final PrintWriter tableWriter = new PrintWriter( new FileOutputStream( tableLocation + File.separatorChar + "dates.csv", false ) ); + tableWriter.println( "ID date" ); + tableWriter.println( "1 2013-01-01" ); + tableWriter.println( "2 2012-02-02" ); + tableWriter.println( "3 2011-03-03" ); + tableWriter.close(); + } + + public void after() + { + } + + private class EqualityDate extends Date + { + EqualityDate( short i_day, short i_month, short i_year ) + { + super( i_day, i_month, i_year ); + } + + EqualityDate( Date i_date ) + { + super( i_date.Day, i_date.Month, i_date.Year ); + } + + @Override + public boolean equals( Object i_compare ) + { + if ( !( i_compare instanceof Date ) ) + return false; + return Day == ((Date)i_compare).Day + && Month == ((Date)i_compare).Month + && Year == ((Date)i_compare).Year; + } + } + + /** + * ensures simple SELECTs from our table(s) work, and deliver the expected results + */ + public void testBasicAccess() + { + testRowSetResults( + "SELECT * FROM \"dates\"", + new RowSetIntGetter(1), + new Integer[] { 1, 2, 3 }, + "simple select", "wrong IDs" + ); + + testRowSetResults( + "SELECT * FROM \"dates\"", + new RowSetDateGetter( 2 ), + new EqualityDate[] { new EqualityDate( (short)1, (short)1, (short)2013 ), + new EqualityDate( (short)2, (short)2, (short)2012 ), + new EqualityDate( (short)3, (short)3, (short)2011 ) + }, + "simple select", "wrong dates" + ); + testRowSetResults( + "SELECT \"date\", \"ID\" FROM \"dates\" ORDER BY \"ID\" DESC", + new RowSetIntGetter( 2 ), + new Integer[] { 3, 2, 1 }, + "explicit column selection, sorted by IDs", "wrong IDs" + ); + testRowSetResults( + "SELECT * FROM \"dates\" ORDER BY \"date\"", + new RowSetIntGetter( 1 ), + new Integer[] { 3, 2, 1 }, + "sorted by date", "wrong IDs" + ); + } + + /** + * ensures the basic functionality for selecting calendar functions from a CSV table - this is a prerequisite for + * later tests. + */ + public void testCalendarFunctions() + { + // simple check for proper results of the calendar functions (DATE/MONTH) + // The * at the first position is crucial here - there was code which wrongly calculated + // column positions of function columns when * was present in the statement + testRowSetResults( + "SELECT \"dates\".*, YEAR( \"date\" ) FROM \"dates\"", + new RowSetIntGetter( 3 ), + new Integer[] { 2013, 2012, 2011 }, + "YEAR function", "wrong calculated years" + ); + testRowSetResults( + "SELECT \"dates\".*, MONTH( \"date\" ) FROM \"dates\"", + new RowSetIntGetter( 3 ), + new Integer[] { 1, 2, 3 }, + "MONTH function", "wrong calculated months" + ); + } + + /** + * ensures that sorting by a function column works + */ + public void testSortingByFunction() + { + // most simple case: select a function, and sort by it + testRowSetResults( + "SELECT YEAR( \"date\" ) AS \"year\" FROM \"dates\" ORDER BY \"year\"", + new RowSetIntGetter(1), + new Integer[] { 2011, 2012, 2013 }, + "single YEAR selection, sorted by years", "wrong calculated years" + ); + // somewhat more "difficult" (this used to crash): Select all columns, plus a function, so the calculated + // column has a position greater than column count + testRowSetResults( + "SELECT \"dates\".*, YEAR( \"date\" ) AS \"year\" FROM \"dates\" ORDER BY \"year\" DESC", + new RowSetIntGetter(3), + new Integer[] { 2013, 2012, 2011 }, + "extended YEAR selection, sorted by years", "wrong calculated years" + ); + } + + private interface RowSetValueGetter + { + public Object getValue( final RowSet i_rowSet ) throws SQLException; + } + + private abstract class RowSetColumnValueGetter implements RowSetValueGetter + { + RowSetColumnValueGetter( final int i_columnIndex ) + { + m_columnIndex = i_columnIndex; + } + + protected final int m_columnIndex; + } + + private class RowSetIntGetter extends RowSetColumnValueGetter + { + RowSetIntGetter( final int i_columnIndex ) + { + super( i_columnIndex ); + } + + public Object getValue( final RowSet i_rowSet ) throws SQLException + { + return i_rowSet.getInt( m_columnIndex ); + } + } + + private class RowSetDateGetter extends RowSetColumnValueGetter + { + RowSetDateGetter( final int i_columnIndex ) + { + super( i_columnIndex ); + } + + public Object getValue( final RowSet i_rowSet ) throws SQLException + { + return i_rowSet.getDate( m_columnIndex ); + } + } + + private <T> void testRowSetResults( String i_command, RowSetValueGetter i_getter, + T[] i_expectedValues, String i_context, String i_failureDesc ) + { + RowSet rowSet = null; + try + { + rowSet = m_database.createRowSet( CommandType.COMMAND, i_command ); + rowSet.execute(); + + List< T > values = new ArrayList< T >(); + while ( rowSet.next() ) + { + values.add( (T)i_getter.getValue( rowSet ) ); + } + assureEquals( i_context + ": " + i_failureDesc, i_expectedValues, values.toArray(), true ); + } + catch( final SQLException e ) + { + failed( i_context + ": caught an exception: " + e.toString(), false ); + } + finally + { + if ( rowSet != null ) + rowSet.dispose(); + } + } + + private CsvDatabase m_database = null; +} diff --git a/connectivity/qa/drivers/hsqldb/DriverTest.java b/connectivity/qa/complex/connectivity/HsqlDriverTest.java index d343a1309a05..28ad862c4a76 100644..100755 --- a/connectivity/qa/drivers/hsqldb/DriverTest.java +++ b/connectivity/qa/complex/connectivity/HsqlDriverTest.java @@ -24,63 +24,50 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -package qa.drivers.hsqldb; +package complex.connectivity; -import com.sun.star.awt.XWindow; +import complex.connectivity.hsqldb.TestCacheSize; import com.sun.star.frame.XModel; -import com.sun.star.text.XTextDocument; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.util.XCloseable; -import com.sun.star.sdbc.*; -import com.sun.star.beans.PropertyValue; -import com.sun.star.container.XNameAccess; -import com.sun.star.sdbc.XDataSource; import com.sun.star.frame.XStorable; import com.sun.star.lang.*; import com.sun.star.document.XDocumentSubStorageSupplier; import complexlib.ComplexTestCase; -import java.io.PrintWriter; -import util.utils; -import java.util.*; -import java.io.*; -import org.hsqldb.jdbcDriver; -import qa.drivers.hsqldb.DatabaseMetaData; import org.hsqldb.lib.StopWatch; -import com.sun.star.sdbc.*; -import com.sun.star.container.XNameAccess; import com.sun.star.uno.UnoRuntime; -import com.sun.star.beans.PropertyValue; import com.sun.star.beans.PropertyState; import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.embed.XStorage; +import com.sun.star.sdbc.XDataSource; +import com.sun.star.sdbc.XDriver; +import connectivity.tools.HsqlDatabase; -public class DriverTest extends ComplexTestCase { +public class HsqlDriverTest extends ComplexTestCase { public String[] getTestMethodNames() { return new String[] { "test" }; } + @Override public String getTestObjectName() { return "DriverTest"; } public void assurePublic(String sMessage,boolean check){ - addResult(sMessage,check); + super.assure(sMessage,check); } public void test(){ - mThreadTimeOut = 10000000; XDataSource ds = null; System.gc(); try { - XNameAccess xNameAccess = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class,((XMultiServiceFactory)param.getMSF()).createInstance("com.sun.star.sdb.DatabaseContext")); - ds = (XDataSource)UnoRuntime.queryInterface(XDataSource.class,xNameAccess.getByName("file:///g:/test.odb")); + HsqlDatabase database = new HsqlDatabase( (XMultiServiceFactory)param.getMSF() ); + ds = database.getDataSource().getXDataSource(); } catch(Exception ex) { - throw new RuntimeException("factory: unable to construct data source" ); + throw new RuntimeException("factory: unable to construct data source" ); } try{ @@ -141,7 +128,6 @@ public class DriverTest extends ComplexTestCase { }catch(Exception e){} } public void test2(){ - mThreadTimeOut = 10000000; System.gc(); com.sun.star.beans.PropertyValue[] info = null; @@ -149,7 +135,7 @@ public class DriverTest extends ComplexTestCase { try{ info = new com.sun.star.beans.PropertyValue[]{ new com.sun.star.beans.PropertyValue("JavaDriverClass",0,"org.hsqldb.jdbcDriver",PropertyState.DIRECT_VALUE) - ,new com.sun.star.beans.PropertyValue("ParameterNameSubstitution",0,new Boolean(false),PropertyState.DIRECT_VALUE) + ,new com.sun.star.beans.PropertyValue("ParameterNameSubstitution",0, false,PropertyState.DIRECT_VALUE) }; drv = (XDriver)UnoRuntime.queryInterface(XDriver.class,((XMultiServiceFactory)param.getMSF()).createInstance("com.sun.star.comp.sdbc.JDBCDriver")); TestCacheSize test = new TestCacheSize(((XMultiServiceFactory)param.getMSF()),info,drv); diff --git a/connectivity/qa/drivers/jdbc/LongVarCharTest.java b/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java index a9c9693cbd00..7b4418a82ab5 100644..100755 --- a/connectivity/qa/drivers/jdbc/LongVarCharTest.java +++ b/connectivity/qa/complex/connectivity/JdbcLongVarCharTest.java @@ -40,7 +40,7 @@ import com.sun.star.sdbc.XRow; import com.sun.star.uno.UnoRuntime; import complexlib.ComplexTestCase; -public class LongVarCharTest extends ComplexTestCase +public class JdbcLongVarCharTest extends ComplexTestCase { public String[] getTestMethodNames() @@ -51,6 +51,7 @@ public class LongVarCharTest extends ComplexTestCase }; } + @Override public String getTestObjectName() { return "LongVarCharTest"; diff --git a/connectivity/qa/complex/connectivity/SubTestCase.java b/connectivity/qa/complex/connectivity/SubTestCase.java new file mode 100755 index 000000000000..1c2e685c5943 --- /dev/null +++ b/connectivity/qa/complex/connectivity/SubTestCase.java @@ -0,0 +1,23 @@ +package complex.connectivity; + +import share.LogWriter; + +public class SubTestCase implements TestCase +{ + protected SubTestCase( final TestCase i_parentTestCase ) + { + m_parentTestCase = i_parentTestCase; + } + + public void assure( String i_message, boolean i_condition ) + { + m_parentTestCase.assure( i_message, i_condition ); + } + + public LogWriter getLog() + { + return m_parentTestCase.getLog(); + } + + private final TestCase m_parentTestCase; +} diff --git a/connectivity/qa/connectivity/GeneralTest.java b/connectivity/qa/complex/connectivity/TestCase.java index a69ac5c1048f..bae5fcdcb4c4 100644..100755 --- a/connectivity/qa/connectivity/GeneralTest.java +++ b/connectivity/qa/complex/connectivity/TestCase.java @@ -26,37 +26,10 @@ ************************************************************************/ package complex.connectivity; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.sdbc.*; +import share.LogWriter; -import com.sun.star.lang.XMultiServiceFactory; - -import complexlib.ComplexTestCase; - - -//import complex.connectivity.DBaseStringFunctions; - -public class GeneralTest extends ComplexTestCase { - - public String[] getTestMethodNames() { - return new String[] { "test" }; - } - - public String getTestObjectName() { - return "GeneralTest"; - } - public void assure2(String s,boolean b){ - assure(s,b); - } - - public void test() throws com.sun.star.uno.Exception,com.sun.star.beans.UnknownPropertyException { - try - { - XDriverManager driverManager = UnoRuntime.queryInterface( XDriverManager.class, ((XMultiServiceFactory)param.getMSF()).createInstance( "com.sun.star.sdbc.DriverManager" ) ); - String databaseURL = "sdbc:calc:singin' in the rain" ; - XConnection catalogConnection = driverManager.getConnection(databaseURL); - failed(); - } - catch(SQLException e){} - } +public interface TestCase +{ + public void assure( final String i_message, final boolean i_condition ); + public LogWriter getLog(); } diff --git a/connectivity/qa/drivers/dbase/DBaseDateFunctions.java b/connectivity/qa/complex/connectivity/dbase/DBaseDateFunctions.java index b48ae2158359..9cfc6aaaf590 100644..100755 --- a/connectivity/qa/drivers/dbase/DBaseDateFunctions.java +++ b/connectivity/qa/complex/connectivity/dbase/DBaseDateFunctions.java @@ -24,30 +24,26 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -package qa.drivers.dbase; +package complex.connectivity.dbase; import com.sun.star.uno.UnoRuntime; import com.sun.star.sdbc.*; import com.sun.star.beans.XPropertySet; import com.sun.star.lang.XMultiServiceFactory; +import complex.connectivity.TestCase; +import complex.connectivity.SubTestCase; -public class DBaseDateFunctions +public class DBaseDateFunctions extends SubTestCase { private final String where = "FROM \"biblio\" \"biblio\" where \"Identifier\" = 'BOR00'"; private final XMultiServiceFactory m_xORB; - private final DBaseDriverTest testcase; - public DBaseDateFunctions(final XMultiServiceFactory _xORB, final DBaseDriverTest _testcase) + public DBaseDateFunctions(final XMultiServiceFactory _xORB, final TestCase i_testCase) { + super( i_testCase ); m_xORB = _xORB; - testcase = _testcase; - } - - private void assure(final String s, final boolean b) - { - testcase.assure2(s, b); } public void testFunctions() throws com.sun.star.uno.Exception, com.sun.star.beans.UnknownPropertyException @@ -55,7 +51,7 @@ public class DBaseDateFunctions final XRowSet xRowRes = (XRowSet) UnoRuntime.queryInterface(XRowSet.class, m_xORB.createInstance("com.sun.star.sdb.RowSet")); - testcase.getLog().println("starting DateTime function test!"); + getLog().println("starting DateTime function test!"); // set the properties needed to connect to a database final XPropertySet xProp = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xRowRes); xProp.setPropertyValue("DataSourceName", "Bibliography"); @@ -289,21 +285,21 @@ public class DBaseDateFunctions { final XRow row = execute(xRowRes, "CURDATE() "); final com.sun.star.util.Date aDate = row.getDate(1); - testcase.getLog().println("CURDATE() is '" + aDate.Year + "-" + aDate.Month + "-" + aDate.Day + "'"); + getLog().println("CURDATE() is '" + aDate.Year + "-" + aDate.Month + "-" + aDate.Day + "'"); } private void curtime(final XRowSet xRowRes) throws com.sun.star.uno.Exception, com.sun.star.beans.UnknownPropertyException { final XRow row = execute(xRowRes, "CURTIME() "); final com.sun.star.util.Time aTime = row.getTime(1); - testcase.getLog().println("CURTIME() is '" + aTime.Hours + ":" + aTime.Minutes + ":" + aTime.Seconds + "'"); + getLog().println("CURTIME() is '" + aTime.Hours + ":" + aTime.Minutes + ":" + aTime.Seconds + "'"); } private void now(final XRowSet xRowRes) throws com.sun.star.uno.Exception, com.sun.star.beans.UnknownPropertyException { final XRow row = execute(xRowRes, "NOW() "); final com.sun.star.util.DateTime aTime = row.getTimestamp(1); - testcase.getLog().println("NOW() is '" + aTime.Year + "-" + aTime.Month + "-" + aTime.Day + "'"); - testcase.getLog().println("'" + aTime.Hours + ":" + aTime.Minutes + ":" + aTime.Seconds + "'"); + getLog().println("NOW() is '" + aTime.Year + "-" + aTime.Month + "-" + aTime.Day + "'"); + getLog().println("'" + aTime.Hours + ":" + aTime.Minutes + ":" + aTime.Seconds + "'"); } } diff --git a/connectivity/qa/drivers/dbase/DBaseNumericFunctions.java b/connectivity/qa/complex/connectivity/dbase/DBaseNumericFunctions.java index b3c8ff014a2f..f5aec94a3c23 100644..100755 --- a/connectivity/qa/drivers/dbase/DBaseNumericFunctions.java +++ b/connectivity/qa/complex/connectivity/dbase/DBaseNumericFunctions.java @@ -24,30 +24,25 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -package qa.drivers.dbase; +package complex.connectivity.dbase; import com.sun.star.uno.UnoRuntime; import com.sun.star.sdbc.*; import com.sun.star.beans.XPropertySet; import com.sun.star.lang.XMultiServiceFactory; +import complex.connectivity.SubTestCase; +import complex.connectivity.TestCase; -public class DBaseNumericFunctions +public class DBaseNumericFunctions extends SubTestCase { - private final String where = "FROM \"biblio\" \"biblio\" where \"Identifier\" = 'BOR00'"; private final XMultiServiceFactory m_xORB; - private final DBaseDriverTest testcase; - public DBaseNumericFunctions(final XMultiServiceFactory _xORB, final DBaseDriverTest _testcase) + public DBaseNumericFunctions(final XMultiServiceFactory _xORB, final TestCase i_testCase) { + super( i_testCase ); m_xORB = _xORB; - testcase = _testcase; - } - - private void assure(final String s, final boolean b) - { - testcase.assure2(s, b); } public void testFunctions() throws com.sun.star.uno.Exception, com.sun.star.beans.UnknownPropertyException @@ -55,7 +50,7 @@ public class DBaseNumericFunctions final XRowSet xRowRes = (XRowSet) UnoRuntime.queryInterface(XRowSet.class, m_xORB.createInstance("com.sun.star.sdb.RowSet")); - testcase.getLog().println("starting Numeric function test"); + getLog().println("starting Numeric function test"); // set the properties needed to connect to a database final XPropertySet xProp = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xRowRes); xProp.setPropertyValue("DataSourceName", "Bibliography"); diff --git a/connectivity/qa/drivers/dbase/DBaseSqlTests.java b/connectivity/qa/complex/connectivity/dbase/DBaseSqlTests.java index c393c5a48356..1265e05e7bef 100755 --- a/connectivity/qa/drivers/dbase/DBaseSqlTests.java +++ b/connectivity/qa/complex/connectivity/dbase/DBaseSqlTests.java @@ -24,27 +24,23 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -package qa.drivers.dbase; +package complex.connectivity.dbase; import com.sun.star.uno.UnoRuntime; import com.sun.star.sdbc.*; import com.sun.star.beans.XPropertySet; import com.sun.star.lang.XMultiServiceFactory; +import complex.connectivity.TestCase; +import complex.connectivity.SubTestCase; -public class DBaseSqlTests +public class DBaseSqlTests extends SubTestCase { private final XMultiServiceFactory m_xORB; - private final DBaseDriverTest testcase; - public DBaseSqlTests(final XMultiServiceFactory _xORB,final DBaseDriverTest _testcase) + public DBaseSqlTests(final XMultiServiceFactory _xORB,final TestCase i_testCase) { + super( i_testCase ); m_xORB = _xORB; - testcase = _testcase; - } - - private void assure(final String s,final boolean b) - { - testcase.assure2(s, b); } public void testFunctions() throws com.sun.star.uno.Exception, com.sun.star.beans.UnknownPropertyException @@ -52,7 +48,7 @@ public class DBaseSqlTests final XRowSet xRowRes = (XRowSet) UnoRuntime.queryInterface(XRowSet.class, m_xORB.createInstance("com.sun.star.sdb.RowSet")); - testcase.getLog().println("starting SQL test"); + getLog().println("starting SQL test"); // set the properties needed to connect to a database final XPropertySet xProp = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xRowRes); xProp.setPropertyValue("DataSourceName", "Bibliography"); @@ -88,7 +84,7 @@ public class DBaseSqlTests } catch(SQLException e) { - testcase.getLog().println(sql + " Error: " + e.getMessage()); + getLog().println(sql + " Error: " + e.getMessage()); } } diff --git a/connectivity/qa/drivers/dbase/DBaseStringFunctions.java b/connectivity/qa/complex/connectivity/dbase/DBaseStringFunctions.java index 1d4ccf0a9b26..30b94484d53d 100644..100755 --- a/connectivity/qa/drivers/dbase/DBaseStringFunctions.java +++ b/connectivity/qa/complex/connectivity/dbase/DBaseStringFunctions.java @@ -24,28 +24,24 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -package qa.drivers.dbase; +package complex.connectivity.dbase; import com.sun.star.uno.UnoRuntime; import com.sun.star.sdbc.*; import com.sun.star.beans.XPropertySet; import com.sun.star.lang.XMultiServiceFactory; +import complex.connectivity.SubTestCase; +import complex.connectivity.TestCase; -public class DBaseStringFunctions +public class DBaseStringFunctions extends SubTestCase { private String where = "FROM \"biblio\" \"biblio\" where \"Identifier\" = 'BOR00'"; private final XMultiServiceFactory m_xORB; - private final DBaseDriverTest testcase; - public DBaseStringFunctions(final XMultiServiceFactory _xORB,final DBaseDriverTest _testcase) + public DBaseStringFunctions(final XMultiServiceFactory _xORB,final TestCase i_testCase) { + super( i_testCase ); m_xORB = _xORB; - testcase = _testcase; - } - - private void assure(final String s,final boolean b) - { - testcase.assure2(s, b); } public void testFunctions() throws com.sun.star.uno.Exception, com.sun.star.beans.UnknownPropertyException @@ -53,7 +49,7 @@ public class DBaseStringFunctions final XRowSet xRowRes = (XRowSet) UnoRuntime.queryInterface(XRowSet.class, m_xORB.createInstance("com.sun.star.sdb.RowSet")); - testcase.getLog().println("starting String function test"); + getLog().println("starting String function test"); // set the properties needed to connect to a database final XPropertySet xProp = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xRowRes); xProp.setPropertyValue("DataSourceName", "Bibliography"); diff --git a/connectivity/qa/drivers/hsqldb/DatabaseMetaData.java b/connectivity/qa/complex/connectivity/hsqldb/DatabaseMetaData.java index f78b080aaa5a..d5fa680f06c9 100644..100755 --- a/connectivity/qa/drivers/hsqldb/DatabaseMetaData.java +++ b/connectivity/qa/complex/connectivity/hsqldb/DatabaseMetaData.java @@ -8,21 +8,19 @@ * * @author oj93728 */ -package qa.drivers.hsqldb; +package complex.connectivity.hsqldb; +import complex.connectivity.HsqlDriverTest; import java.sql.*; -import com.sun.star.uno.UnoRuntime; -import complexlib.ComplexTestCase; import java.lang.reflect.Method; -import qa.drivers.hsqldb.DriverTest; public class DatabaseMetaData { private java.sql.DatabaseMetaData m_xMD; - private DriverTest m_TestCase; + private HsqlDriverTest m_TestCase; /** Creates a new instance of DatabaseMetaData */ - public DatabaseMetaData(DriverTest _testCase,java.sql.DatabaseMetaData _xmd) { + public DatabaseMetaData(HsqlDriverTest _testCase,java.sql.DatabaseMetaData _xmd) { m_TestCase = _testCase; m_xMD = _xmd; } diff --git a/connectivity/qa/drivers/hsqldb/TestCacheSize.java b/connectivity/qa/complex/connectivity/hsqldb/TestCacheSize.java index 4701905772b8..6c4db8bdeee7 100644..100755 --- a/connectivity/qa/drivers/hsqldb/TestCacheSize.java +++ b/connectivity/qa/complex/connectivity/hsqldb/TestCacheSize.java @@ -29,24 +29,16 @@ */ -package qa.drivers.hsqldb; +package complex.connectivity.hsqldb; -import java.io.*; import org.hsqldb.lib.StopWatch; -import org.hsqldb.lib.FileAccess; import java.util.Random; import com.sun.star.lang.*; import com.sun.star.uno.UnoRuntime; -import com.sun.star.beans.PropertyValue; -import com.sun.star.beans.PropertyState; -import com.sun.star.container.XNameAccess; import com.sun.star.sdbc.*; -import com.sun.star.document.XDocumentSubStorageSupplier; -import com.sun.star.embed.XStorage; -import com.sun.star.frame.XStorable; /** * Test large cached tables by setting up a cached table of 100000 records @@ -123,17 +115,17 @@ public class TestCacheSize { XDriver drv; com.sun.star.beans.PropertyValue[] info; - TestCacheSize(XMultiServiceFactory _xmulti,com.sun.star.beans.PropertyValue[] _info,XDriver _drv){ + public TestCacheSize(XMultiServiceFactory _xmulti,com.sun.star.beans.PropertyValue[] _info,XDriver _drv){ servicefactory = _xmulti; drv = _drv; info = _info; } - void setURL(String _url){ + public void setURL(String _url){ url = _url; } - protected void setUp() { + public void setUp() { user = "sa"; password = ""; @@ -406,9 +398,9 @@ public class TestCacheSize { + (i * 1000 / (sw.elapsedTime() + 1))); } - protected void tearDown() {} + public void tearDown() {} - protected void checkResults() { + public void checkResults() { try { StopWatch sw = new StopWatch(); diff --git a/connectivity/qa/connectivity/makefile.mk b/connectivity/qa/connectivity/makefile.mk deleted file mode 100644 index 785f20692da3..000000000000 --- a/connectivity/qa/connectivity/makefile.mk +++ /dev/null @@ -1,65 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ = ..$/.. -TARGET = GeneralTest -PRJNAME = connectivity -PACKAGE = complex$/connectivity - -# --- Settings ----------------------------------------------------- -.INCLUDE: settings.mk - -#----- compile .java files ----------------------------------------- - -JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar -JAVAFILES =\ - $(TARGET).java - -JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class) - -#----- make a jar from compiled files ------------------------------ - -MAXLINELENGTH = 100000 - -JARCLASSDIRS = $(PACKAGE) -JARTARGET = $(TARGET).jar -JARCOMPRESS = TRUE - -# --- Targets ------------------------------------------------------ - -.IF "$(depend)" == "" -ALL : ALLTAR -.ELSE -ALL: ALLDEP -.ENDIF - -.INCLUDE : target.mk - - -run: - java -cp $(CLASSPATH)$(PATH_SEPERATOR)$(SOLARBINDIR)$/OOoRunner.jar org.openoffice.Runner -TestBase java_complex -o complex.connectivity.$(TARGET) - diff --git a/connectivity/qa/connectivity/tools/AbstractDatabase.java b/connectivity/qa/connectivity/tools/AbstractDatabase.java index b47c7c7961da..65f550be5abf 100755 --- a/connectivity/qa/connectivity/tools/AbstractDatabase.java +++ b/connectivity/qa/connectivity/tools/AbstractDatabase.java @@ -47,18 +47,6 @@ import java.io.File; */ public abstract class AbstractDatabase implements DatabaseAccess { - // the service factory - - protected final XMultiServiceFactory m_orb; - // the URL of the temporary file used for the database document - protected String m_databaseDocumentFile; - // the database document - protected XOfficeDatabaseDocument m_databaseDocument; - // the data source belonging to the database document - protected DataSource m_dataSource; - // the default connection - protected Connection m_connection; - public AbstractDatabase(final XMultiServiceFactory orb) throws Exception { m_orb = orb; @@ -75,7 +63,6 @@ public abstract class AbstractDatabase implements DatabaseAccess * * Multiple calls to this method return the same connection. The DbaseDatabase object keeps * the ownership of the connection, so you don't need to (and should not) dispose/close it. - * */ public Connection defaultConnection() throws SQLException { @@ -219,4 +206,15 @@ public abstract class AbstractDatabase implements DatabaseAccess closeAndDelete(); super.finalize(); } + + // the service factory + protected final XMultiServiceFactory m_orb; + // the URL of the temporary file used for the database document + protected String m_databaseDocumentFile; + // the database document + protected XOfficeDatabaseDocument m_databaseDocument; + // the data source belonging to the database document + protected DataSource m_dataSource; + // the default connection + protected Connection m_connection; } diff --git a/connectivity/qa/connectivity/tools/CRMDatabase.java b/connectivity/qa/connectivity/tools/CRMDatabase.java index a1b457884948..a1b457884948 100644..100755 --- a/connectivity/qa/connectivity/tools/CRMDatabase.java +++ b/connectivity/qa/connectivity/tools/CRMDatabase.java diff --git a/connectivity/qa/connectivity/tools/CsvDatabase.java b/connectivity/qa/connectivity/tools/CsvDatabase.java new file mode 100755 index 000000000000..f9f16a718205 --- /dev/null +++ b/connectivity/qa/connectivity/tools/CsvDatabase.java @@ -0,0 +1,18 @@ +package connectivity.tools; + +import com.sun.star.lang.XMultiServiceFactory; + +public class CsvDatabase extends FlatFileDatabase +{ + // -------------------------------------------------------------------------------------------------------- + public CsvDatabase( final XMultiServiceFactory i_orb ) throws Exception + { + super( i_orb, "flat" ); + } + + // -------------------------------------------------------------------------------------------------------- + protected CsvDatabase( final XMultiServiceFactory i_orb, final String i_existingDocumentURL ) throws Exception + { + super( i_orb, i_existingDocumentURL, "flat" ); + } +} diff --git a/connectivity/qa/connectivity/tools/DataSource.java b/connectivity/qa/connectivity/tools/DataSource.java index 221ada3cb487..5c06f7d69622 100644..100755 --- a/connectivity/qa/connectivity/tools/DataSource.java +++ b/connectivity/qa/connectivity/tools/DataSource.java @@ -69,6 +69,14 @@ public class DataSource return m_dataSource; } + /** + * retrieves the data source's settings + */ + public XPropertySet geSettings() + { + return UnoRuntime.queryInterface( XPropertySet.class, impl_getPropertyValue( "Settings" ) ); + } + /** creates a query with a given name and SQL command */ public void createQuery(final String _name, final String _sqlCommand) throws ElementExistException, WrappedTargetException, com.sun.star.lang.IllegalArgumentException @@ -121,25 +129,35 @@ public class DataSource return suppQueries.getQueryDefinitions(); } - /** returns the name of the data source - * - * If a data source is registered at the database context, the name is the registration - * name. Otherwise, its the URL which the respective database document is based on. - * - * Note that the above definition is from the UNO API, not from this wrapper here. + /** + * retrieves a property value from the data source + * @param i_propertyName + * the name of the property whose value is to be returned. */ - public String getName() + private Object impl_getPropertyValue( final String i_propertyName ) { - String name = null; + Object propertyValue = null; try { final XPropertySet dataSourceProps = UnoRuntime.queryInterface( XPropertySet.class, m_dataSource ); - name = (String) dataSourceProps.getPropertyValue("Name"); + propertyValue = dataSourceProps.getPropertyValue( i_propertyName ); } catch (Exception ex) { Logger.getLogger(DataSource.class.getName()).log(Level.SEVERE, null, ex); } - return name; + return propertyValue; + } + + /** returns the name of the data source + * + * If a data source is registered at the database context, the name is the registration + * name. Otherwise, its the URL which the respective database document is based on. + * + * Note that the above definition is from the UNO API, not from this wrapper here. + */ + public String getName() + { + return (String)impl_getPropertyValue( "Name" ); } }; diff --git a/connectivity/qa/connectivity/tools/DbaseDatabase.java b/connectivity/qa/connectivity/tools/DbaseDatabase.java index ae40be4222aa..19a44132adf4 100755 --- a/connectivity/qa/connectivity/tools/DbaseDatabase.java +++ b/connectivity/qa/connectivity/tools/DbaseDatabase.java @@ -1,98 +1,18 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ package connectivity.tools; -import com.sun.star.beans.PropertyValue; -import com.sun.star.beans.XPropertySet; -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.uno.UnoRuntime; -import helper.URLHelper; -import java.io.File; - -/** - * - * @author Ocke - */ -public class DbaseDatabase extends AbstractDatabase +public class DbaseDatabase extends FlatFileDatabase { // -------------------------------------------------------------------------------------------------------- - - public DbaseDatabase(final XMultiServiceFactory orb) throws Exception + public DbaseDatabase( final XMultiServiceFactory i_orb ) throws Exception { - super(orb); - createDBDocument(); + super( i_orb, "dbase" ); } // -------------------------------------------------------------------------------------------------------- - public DbaseDatabase(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 - { - final File documentFile = File.createTempFile("dbase", ".odb"); - if ( documentFile.exists() ) - documentFile.delete(); - final File subPath = new File(documentFile.getParent() + File.separator + documentFile.getName().replaceAll(".odb", "") + File.separator ); - subPath.mkdir(); - //subPath.deleteOnExit(); - m_databaseDocumentFile = URLHelper.getFileURLFromSystemPath(documentFile); - final String path = URLHelper.getFileURLFromSystemPath(subPath.getPath()); - - m_databaseDocument = (XOfficeDatabaseDocument) UnoRuntime.queryInterface( - XOfficeDatabaseDocument.class, m_orb.createInstance("com.sun.star.sdb.OfficeDatabaseDocument")); - m_dataSource = new DataSource(m_orb, m_databaseDocument.getDataSource()); - - final XPropertySet dsProperties = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, m_databaseDocument.getDataSource()); - dsProperties.setPropertyValue("URL", "sdbc:dbase:" + path); - - final XStorable storable = (XStorable) UnoRuntime.queryInterface(XStorable.class, m_databaseDocument); - storable.storeAsURL(m_databaseDocumentFile, new PropertyValue[] - { - }); - } - - /** drops the table with a given name - - @param _name - the name of the table to drop - @param _ifExists - TRUE if it should be dropped only when it exists. - */ - public void dropTable(final String _name,final boolean _ifExists) throws SQLException + protected DbaseDatabase( final XMultiServiceFactory i_orb, final String i_existingDocumentURL ) throws Exception { - String dropStatement = "DROP TABLE \"" + _name; - executeSQL(dropStatement); + super( i_orb, i_existingDocumentURL, "dbase" ); } } diff --git a/connectivity/qa/connectivity/tools/FlatFileDatabase.java b/connectivity/qa/connectivity/tools/FlatFileDatabase.java new file mode 100755 index 000000000000..5385f1e119f6 --- /dev/null +++ b/connectivity/qa/connectivity/tools/FlatFileDatabase.java @@ -0,0 +1,116 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +package connectivity.tools; + +import com.sun.star.beans.PropertyValue; +import com.sun.star.beans.XPropertySet; +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.uno.UnoRuntime; + +import helper.URLHelper; +import java.io.File; + +class FlatFileDatabase extends AbstractDatabase +{ + // -------------------------------------------------------------------------------------------------------- + protected FlatFileDatabase( final XMultiServiceFactory i_orb, final String i_urlSubScheme ) throws Exception + { + super(i_orb); + m_urlSubScheme = i_urlSubScheme; + createDBDocument(); + } + + // -------------------------------------------------------------------------------------------------------- + protected FlatFileDatabase(final XMultiServiceFactory i_orb, final String i_existingDocumentURL, + final String i_urlSubScheme ) throws Exception + { + super( i_orb, i_existingDocumentURL ); + m_urlSubScheme = i_urlSubScheme; + + final XPropertySet dsProperties = UnoRuntime.queryInterface(XPropertySet.class, m_databaseDocument.getDataSource()); + final String url = (String)dsProperties.getPropertyValue( "URL" ); + final String expectedURLPrefix = "sdbc:" + m_urlSubScheme + ":"; + if ( !url.startsWith( expectedURLPrefix ) ) + throw new IllegalArgumentException( i_existingDocumentURL + " is of wrong type" ); + + final String location = url.substring( expectedURLPrefix.length() ); + m_tableFileLocation = new File( location ); + if ( m_tableFileLocation.isDirectory() ) + throw new IllegalArgumentException( "unsupported table file location (must be a folder)" ); + } + + /** + * returns a {@link File} which represents the folder where the database's table files reside. + */ + public File getTableFileLocation() + { + return m_tableFileLocation; + } + + /** creates an empty database document in a temporary location + */ + private void createDBDocument() throws Exception + { + final File documentFile = File.createTempFile( m_urlSubScheme, ".odb" ); + if ( documentFile.exists() ) + documentFile.delete(); + m_tableFileLocation = new File(documentFile.getParent() + File.separator + documentFile.getName().replace(".odb", "") + File.separator ); + m_tableFileLocation.mkdir(); + //subPath.deleteOnExit(); + m_databaseDocumentFile = URLHelper.getFileURLFromSystemPath(documentFile); + final String path = URLHelper.getFileURLFromSystemPath( m_tableFileLocation.getPath() ); + + m_databaseDocument = UnoRuntime.queryInterface( XOfficeDatabaseDocument.class, + m_orb.createInstance("com.sun.star.sdb.OfficeDatabaseDocument")); + m_dataSource = new DataSource(m_orb, m_databaseDocument.getDataSource()); + + final XPropertySet dsProperties = UnoRuntime.queryInterface(XPropertySet.class, m_databaseDocument.getDataSource()); + dsProperties.setPropertyValue("URL", "sdbc:" + m_urlSubScheme + ":" + path); + + final XStorable storable = UnoRuntime.queryInterface( XStorable.class, m_databaseDocument ); + storable.storeAsURL( m_databaseDocumentFile, new PropertyValue[] { } ); + } + + /** drops the table with a given name + + @param _name + the name of the table to drop + @param _ifExists + TRUE if it should be dropped only when it exists. + */ + public void dropTable(final String _name,final boolean _ifExists) throws SQLException + { + String dropStatement = "DROP TABLE \"" + _name; + executeSQL(dropStatement); + } + + final String m_urlSubScheme; + File m_tableFileLocation = null; +} diff --git a/connectivity/qa/connectivity/tools/HsqlColumnDescriptor.java b/connectivity/qa/connectivity/tools/HsqlColumnDescriptor.java index c0c46d07149f..c0c46d07149f 100644..100755 --- a/connectivity/qa/connectivity/tools/HsqlColumnDescriptor.java +++ b/connectivity/qa/connectivity/tools/HsqlColumnDescriptor.java diff --git a/connectivity/qa/connectivity/tools/HsqlDatabase.java b/connectivity/qa/connectivity/tools/HsqlDatabase.java index 058c61e1afaa..058c61e1afaa 100644..100755 --- a/connectivity/qa/connectivity/tools/HsqlDatabase.java +++ b/connectivity/qa/connectivity/tools/HsqlDatabase.java diff --git a/connectivity/qa/connectivity/tools/HsqlTableDescriptor.java b/connectivity/qa/connectivity/tools/HsqlTableDescriptor.java index dcda754f8b8c..dcda754f8b8c 100644..100755 --- a/connectivity/qa/connectivity/tools/HsqlTableDescriptor.java +++ b/connectivity/qa/connectivity/tools/HsqlTableDescriptor.java diff --git a/connectivity/qa/connectivity/tools/QueryDefinition.java b/connectivity/qa/connectivity/tools/QueryDefinition.java index ebc9d1a25cfe..ebc9d1a25cfe 100644..100755 --- a/connectivity/qa/connectivity/tools/QueryDefinition.java +++ b/connectivity/qa/connectivity/tools/QueryDefinition.java diff --git a/connectivity/qa/connectivity/tools/RowSet.java b/connectivity/qa/connectivity/tools/RowSet.java index a26456dcc746..31d0f237a1dd 100644..100755 --- a/connectivity/qa/connectivity/tools/RowSet.java +++ b/connectivity/qa/connectivity/tools/RowSet.java @@ -31,6 +31,7 @@ import com.sun.star.beans.XPropertySet; import com.sun.star.container.XIndexAccess; import com.sun.star.container.XNameAccess; import com.sun.star.io.XInputStream; +import com.sun.star.lang.XComponent; import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.sdbc.SQLException; import com.sun.star.sdbc.XArray; @@ -48,7 +49,6 @@ import com.sun.star.util.Time; public class RowSet implements XRowSet, XRow { - private XMultiServiceFactory m_orb; private XRowSet m_rowSet; private XRow m_row; private XPropertySet m_rowSetProps; @@ -57,14 +57,13 @@ public class RowSet implements XRowSet, XRow { try { - m_rowSetProps = (XPropertySet)UnoRuntime.queryInterface( - XPropertySet.class, _orb.createInstance("com.sun.star.sdb.RowSet") ); + m_rowSetProps = UnoRuntime.queryInterface( XPropertySet.class, _orb.createInstance( "com.sun.star.sdb.RowSet" ) ); m_rowSetProps.setPropertyValue( "DataSourceName", _dataSource ); m_rowSetProps.setPropertyValue( "CommandType", new Integer( _commandType ) ); m_rowSetProps.setPropertyValue( "Command", _command ); - m_rowSet = (XRowSet)UnoRuntime.queryInterface( XRowSet.class, m_rowSetProps ); - m_row = (XRow)UnoRuntime.queryInterface( XRow.class, m_rowSetProps ); + m_rowSet = UnoRuntime.queryInterface( XRowSet.class, m_rowSetProps ); + m_row = UnoRuntime.queryInterface( XRow.class, m_rowSetProps ); } catch ( Exception e ) { @@ -289,4 +288,12 @@ public class RowSet implements XRowSet, XRow { return m_row.getArray(i); } + + public void dispose() + { + if ( m_rowSet == null ) + return; + XComponent rowSetComp = UnoRuntime.queryInterface( XComponent.class, m_rowSet ); + rowSetComp.dispose(); + } }; diff --git a/connectivity/qa/connectivity/tools/makefile.mk b/connectivity/qa/connectivity/tools/makefile.mk index 07490532a1b1..d77da7f1b945 100644..100755 --- a/connectivity/qa/connectivity/tools/makefile.mk +++ b/connectivity/qa/connectivity/tools/makefile.mk @@ -42,15 +42,11 @@ all: JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunnerLight.jar JAVAFILES := $(shell @$(FIND) . -name "*.java") -JAVACLASSFILES := $(foreach,i,$(JAVAFILES) $(CLASSDIR)/$(PACKAGE)/$(i:d)$(i:b).class) #----- make a jar from compiled files ------------------------------ -MAXLINELENGTH = 100000 - -JARCLASSDIRS = $(PACKAGE) -JARTARGET = $(TARGET).jar -JARCOMPRESS = TRUE +JARCLASSDIRS = $(PACKAGE) +JARTARGET = $(TARGET).jar # --- Targets ------------------------------------------------------ diff --git a/connectivity/qa/connectivity/tools/sdb/Connection.java b/connectivity/qa/connectivity/tools/sdb/Connection.java index aac120fb1e73..aac120fb1e73 100644..100755 --- a/connectivity/qa/connectivity/tools/sdb/Connection.java +++ b/connectivity/qa/connectivity/tools/sdb/Connection.java diff --git a/connectivity/qa/drivers/dbase/.nbattrs b/connectivity/qa/drivers/dbase/.nbattrs deleted file mode 100644 index 1ea7ed0bd8e6..000000000000 --- a/connectivity/qa/drivers/dbase/.nbattrs +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE attributes PUBLIC "-//NetBeans//DTD DefaultAttributes 1.0//EN" "http://www.netbeans.org/dtds/attributes-1_0.dtd"> -<attributes version="1.0"> - <fileobject name="DBaseDriverTest.java"> - <attr name="class_dependency_complexlib.ComplexTestCase" stringvalue="DBaseDriverTest"/> - </fileobject> - <fileobject name="makefile.mk"> - <attr name="org.netbeans.modules.text.IsTextFile" boolvalue="true"/> - </fileobject> -</attributes> diff --git a/connectivity/qa/drivers/dbase/makefile.mk b/connectivity/qa/drivers/dbase/makefile.mk deleted file mode 100644 index d71670d67458..000000000000 --- a/connectivity/qa/drivers/dbase/makefile.mk +++ /dev/null @@ -1,64 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ = ..$/..$/.. -TARGET = DBaseDriverTest -PRJNAME = connectivity -PACKAGE = qa$/drivers$/dbase - -# --- Settings ----------------------------------------------------- -.INCLUDE: settings.mk - - -#----- compile .java files ----------------------------------------- - -JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar -JAVAFILES =\ - DBaseDateFunctions.java\ - DBaseDriverTest.java\ - DBaseNumericFunctions.java\ - DBaseStringFunctions.java\ - DBaseSqlTests.java - -JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class) - -#----- make a jar from compiled files ------------------------------ - -MAXLINELENGTH = 100000 - -JARCLASSDIRS = $(PACKAGE) -JARTARGET = $(TARGET).jar -JARCOMPRESS = TRUE - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk - - -run: $(CLASSDIR)$/$(JARTARGET) - java -cp "$(CLASSPATH)$(PATH_SEPERATOR)$(SOLARBINDIR)$/OOoRunner.jar" org.openoffice.Runner -TestBase java_complex -o qa.drivers.dbase.$(TARGET) - diff --git a/connectivity/qa/drivers/dbase/test.properties b/connectivity/qa/drivers/dbase/test.properties deleted file mode 100644 index c26879f480f3..000000000000 --- a/connectivity/qa/drivers/dbase/test.properties +++ /dev/null @@ -1,5 +0,0 @@ -# x-no-translate -Driver=org.openoffice.comp.drivers.MySQL.Driver -user=testuser -password= -URL=sdbc:mysql:odbc:MYSQL fs-11110 TESTUSER diff --git a/connectivity/qa/drivers/jdbc/makefile.mk b/connectivity/qa/makefile.mk index e9f03ce1be3c..ee41cab63554 100644..100755 --- a/connectivity/qa/drivers/jdbc/makefile.mk +++ b/connectivity/qa/makefile.mk @@ -25,42 +25,48 @@ # #************************************************************************* -PRJ = ..$/..$/.. -TARGET = LongVarCharTest +PRJ = .. +TARGET = ConnectivityComplexTests PRJNAME = connectivity -PACKAGE = complex$/connectivity +PACKAGE = complex/connectivity # --- Settings ----------------------------------------------------- .INCLUDE: settings.mk - #----- compile .java files ----------------------------------------- -JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar -JAVAFILES =\ - LongVarCharTest.java - -JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class) +JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar hsqldb.jar +JAVAFILES := $(shell @$(FIND) complex -name "*.java") #----- make a jar from compiled files ------------------------------ -MAXLINELENGTH = 100000 +JARCLASSDIRS = $(PACKAGE) +JARTARGET = $(TARGET).jar + +# --- Runner Settings ---------------------------------------------- -JARCLASSDIRS = $(PACKAGE) -JARTARGET = $(TARGET).jar -JARCOMPRESS = TRUE +# classpath and argument list +RUNNER_CLASSPATH = -cp "$(CLASSPATH)$(PATH_SEPERATOR)$(SOLARBINDIR)$/OOoRunner.jar" +RUNNER_ARGS = org.openoffice.Runner -TestBase java_complex # --- Targets ------------------------------------------------------ .IF "$(depend)" == "" ALL : ALLTAR + @echo ----------------------------------------------------- + @echo - do a 'dmake show_targets' to show available targets + @echo ----------------------------------------------------- .ELSE ALL: ALLDEP .ENDIF .INCLUDE : target.mk +show_targets: + +@$(AUGMENT_LIBRARY_PATH) java $(RUNNER_CLASSPATH) complexlib.ShowTargets $(foreach,i,$(JAVAFILES) $(i:s/.\$///:s/.java//)) -run: - java -cp $(CLASSPATH)$(PATH_SEPERATOR)$(SOLARBINDIR)$/OOoRunner.jar org.openoffice.Runner -TestBase java_complex -o complex.connectivity.$(TARGET) +run: $(CLASSDIR)$/$(JARTARGET) + +$(AUGMENT_LIBRARY_PATH) java $(RUNNER_CLASSPATH) $(RUNNER_ARGS) -sce scenarios.sce +run_%: $(CLASSDIR)$/$(JARTARGET) + +$(AUGMENT_LIBRARY_PATH) java $(RUNNER_CLASSPATH) $(RUNNER_ARGS) -o complex.$(PRJNAME).$(@:s/run_//) diff --git a/connectivity/qa/scenarios.sce b/connectivity/qa/scenarios.sce new file mode 100755 index 000000000000..c085f11bd7d8 --- /dev/null +++ b/connectivity/qa/scenarios.sce @@ -0,0 +1,4 @@ +-o complex.connectivity.DBaseDriverTest +-o complex.connectivity.HsqlDriverTest +#-o complex.connectivity.JdbcLongVarCharTest +-o complex.connectivity.FlatFileAccess |