summaryrefslogtreecommitdiff
path: root/dbaccess/qa/complex/dbaccess/DataSource.java
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/qa/complex/dbaccess/DataSource.java')
-rw-r--r--dbaccess/qa/complex/dbaccess/DataSource.java109
1 files changed, 109 insertions, 0 deletions
diff --git a/dbaccess/qa/complex/dbaccess/DataSource.java b/dbaccess/qa/complex/dbaccess/DataSource.java
new file mode 100644
index 000000000000..cb19a1f85d53
--- /dev/null
+++ b/dbaccess/qa/complex/dbaccess/DataSource.java
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DataSource.java,v $
+ * $Revision: 1.2 $
+ *
+ * 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 complex.dbaccess;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XNamingService;
+
+public class DataSource extends complexlib.ComplexTestCase {
+
+ connectivity.tools.HsqlDatabase m_database;
+ connectivity.tools.DataSource m_dataSource;
+
+ // --------------------------------------------------------------------------------------------------------
+ public String[] getTestMethodNames()
+ {
+ return new String[]
+ {
+ "testRegistrationName"
+ };
+ }
+
+ // --------------------------------------------------------------------------------------------------------
+ public String getTestObjectName()
+ {
+ return "DataSource";
+ }
+
+ // --------------------------------------------------------------------------------------------------------
+ private void createTestCase()
+ {
+ try
+ {
+ if ( m_database == null )
+ {
+ CRMDatabase database = new CRMDatabase( getFactory() );
+ m_database = database.getDatabase();
+ m_dataSource = m_database.getDataSource();
+ }
+ }
+ catch( Exception e )
+ {
+ failed( "could not create the test case, error message:\n" + e.getMessage() );
+ }
+ }
+
+ // --------------------------------------------------------------------------------------------------------
+ private XMultiServiceFactory getFactory()
+ {
+ return (XMultiServiceFactory)param.getMSF();
+ }
+
+ // --------------------------------------------------------------------------------------------------------
+ public void testRegistrationName()
+ {
+ createTestCase();
+
+ try
+ {
+ // 1. check the existing "Bibliography" data source whether it has the proper name
+ String dataSourceName = "Bibliography";
+ connectivity.tools.DataSource bibliography = new connectivity.tools.DataSource( getFactory(), dataSourceName );
+ assureEquals( "pre-registered database has a wrong name!",
+ dataSourceName, bibliography.getName() );
+
+ // 2. register a newly created data source, and verify it has the proper name
+ dataSourceName = "someDataSource";
+
+ XNamingService dataSourceRegistrations = (XNamingService)UnoRuntime.queryInterface(
+ XNamingService.class, getFactory().createInstance("com.sun.star.sdb.DatabaseContext"));
+ dataSourceRegistrations.registerObject("someDataSource", m_dataSource.getXDataSource());
+
+ assureEquals( "registration name of a newly registered data source is wrong",
+ dataSourceName, m_dataSource.getName() );
+ }
+ catch ( AssureException e ) { throw e; }
+ catch ( Exception e )
+ {
+ failed( "caught an unexpected exception: " + e.getMessage() );
+ }
+ }
+}