1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 package ifc.sdbcx;
29 
30 import com.sun.star.container.XNameAccess;
31 import com.sun.star.sdbcx.XTablesSupplier;
32 import com.sun.star.lang.XServiceInfo;
33 import com.sun.star.uno.UnoRuntime;
34 import lib.MultiMethodTest;
35 
36 /**
37 * Testing <code>com.sun.star.sdbcx.XTablesSupplier</code>
38 * interface methods :
39 * <ul>
40 *  <li><code> getTables()</code></li>
41 * </ul> <p>
42 * @see com.sun.star.sdbcx.XTablesSupplier
43 */
44 public class _XTablesSupplier extends MultiMethodTest {
45 
46     // oObj filled by MultiMethodTest
47     public XTablesSupplier oObj = null ;
48 
49     /**
50     * Has OK status if method returns not null
51     * <code>XNameAccess</code> object, FAILED otherwise.
52     */
53     public void _getTables() {
54         boolean result = true ;
55 
56         XNameAccess tabs = oObj.getTables() ;
57 
58 
59         String[] tabNames = tabs.getElementNames() ;
60 
61         log.println("Table names:") ;
62         for (int i =0 ; i < tabNames.length; i++) {
63             log.println("  " + tabNames[i]) ;
64         }
65 
66         XServiceInfo info = null ;
67         try {
68             info = (XServiceInfo) UnoRuntime.queryInterface
69                 (XServiceInfo.class, tabs.getByName(tabNames[0])) ;
70         } catch (com.sun.star.uno.Exception e) {}
71 
72         log.println("Support : " +
73             info.supportsService("com.sun.star.sdbcx.Table")) ;
74 
75 
76         tRes.tested("getTables()", tabs != null) ;
77     }
78 
79 }  // finish class _XTablesSupplier
80 
81 
82