xref: /AOO41X/main/connectivity/source/simpledbt/staticdbtools_s.cxx (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
29*cdf0e10cSrcweir #include "precompiled_connectivity.hxx"
30*cdf0e10cSrcweir #include <connectivity/virtualdbtools.hxx>
31*cdf0e10cSrcweir #include "staticdbtools_s.hxx"
32*cdf0e10cSrcweir #include "connectivity/dbconversion.hxx"
33*cdf0e10cSrcweir #include <connectivity/dbtools.hxx>
34*cdf0e10cSrcweir #include <com/sun/star/sdb/SQLContext.hpp>
35*cdf0e10cSrcweir 
36*cdf0e10cSrcweir //........................................................................
37*cdf0e10cSrcweir namespace connectivity
38*cdf0e10cSrcweir {
39*cdf0e10cSrcweir //........................................................................
40*cdf0e10cSrcweir 
41*cdf0e10cSrcweir 	using namespace ::com::sun::star::util;
42*cdf0e10cSrcweir 	using namespace ::com::sun::star::uno;
43*cdf0e10cSrcweir 	using namespace ::com::sun::star::sdb;
44*cdf0e10cSrcweir 	using namespace ::com::sun::star::lang;
45*cdf0e10cSrcweir 	using namespace ::com::sun::star::sdbc;
46*cdf0e10cSrcweir 	using namespace ::com::sun::star::beans;
47*cdf0e10cSrcweir 	using namespace ::com::sun::star::container;
48*cdf0e10cSrcweir 
49*cdf0e10cSrcweir 	//================================================================
50*cdf0e10cSrcweir 	//= ODataAccessStaticTools
51*cdf0e10cSrcweir 	//================================================================
52*cdf0e10cSrcweir 	//----------------------------------------------------------------
53*cdf0e10cSrcweir 	ODataAccessStaticTools::ODataAccessStaticTools()
54*cdf0e10cSrcweir 	{
55*cdf0e10cSrcweir 	}
56*cdf0e10cSrcweir 
57*cdf0e10cSrcweir 	//----------------------------------------------------------------
58*cdf0e10cSrcweir 	Date ODataAccessStaticTools::getStandardDate() const
59*cdf0e10cSrcweir 	{
60*cdf0e10cSrcweir 		return ::dbtools::DBTypeConversion::getStandardDate();
61*cdf0e10cSrcweir 	}
62*cdf0e10cSrcweir 
63*cdf0e10cSrcweir 	//----------------------------------------------------------------
64*cdf0e10cSrcweir 	double ODataAccessStaticTools::getValue(const Reference< XColumn>& _rxVariant, const Date& rNullDate ) const
65*cdf0e10cSrcweir 	{
66*cdf0e10cSrcweir 		return ::dbtools::DBTypeConversion::getValue( _rxVariant, rNullDate );
67*cdf0e10cSrcweir 	}
68*cdf0e10cSrcweir 
69*cdf0e10cSrcweir 	//----------------------------------------------------------------
70*cdf0e10cSrcweir 	::rtl::OUString ODataAccessStaticTools::getFormattedValue(const Reference< XColumn >& _rxColumn, const Reference< XNumberFormatter >& _rxFormatter,
71*cdf0e10cSrcweir 		const Date& _rNullDate, sal_Int32 _nKey, sal_Int16 _nKeyType) const
72*cdf0e10cSrcweir 	{
73*cdf0e10cSrcweir 		return ::dbtools::DBTypeConversion::getFormattedValue(_rxColumn, _rxFormatter, _rNullDate, _nKey, _nKeyType);
74*cdf0e10cSrcweir 	}
75*cdf0e10cSrcweir 
76*cdf0e10cSrcweir 	//----------------------------------------------------------------
77*cdf0e10cSrcweir 	::rtl::OUString ODataAccessStaticTools::getFormattedValue( const Reference< XPropertySet>& _rxColumn, const Reference< XNumberFormatter>& _rxFormatter,
78*cdf0e10cSrcweir 		const Locale& _rLocale, const Date& _rNullDate ) const
79*cdf0e10cSrcweir 	{
80*cdf0e10cSrcweir 		return ::dbtools::DBTypeConversion::getFormattedValue( _rxColumn, _rxFormatter, _rLocale, _rNullDate );
81*cdf0e10cSrcweir 	}
82*cdf0e10cSrcweir 
83*cdf0e10cSrcweir 	//----------------------------------------------------------------
84*cdf0e10cSrcweir 	oslInterlockedCount SAL_CALL ODataAccessStaticTools::acquire()
85*cdf0e10cSrcweir 	{
86*cdf0e10cSrcweir 		return ORefBase::acquire();
87*cdf0e10cSrcweir 	}
88*cdf0e10cSrcweir 
89*cdf0e10cSrcweir 	//----------------------------------------------------------------
90*cdf0e10cSrcweir 	oslInterlockedCount SAL_CALL ODataAccessStaticTools::release()
91*cdf0e10cSrcweir 	{
92*cdf0e10cSrcweir 		return ORefBase::release();
93*cdf0e10cSrcweir 	}
94*cdf0e10cSrcweir 
95*cdf0e10cSrcweir 	//----------------------------------------------------------------
96*cdf0e10cSrcweir 	Reference< XConnection> ODataAccessStaticTools::getConnection_withFeedback(const ::rtl::OUString& _rDataSourceName, const ::rtl::OUString& _rUser,
97*cdf0e10cSrcweir 		const ::rtl::OUString& _rPwd, const Reference< XMultiServiceFactory>& _rxFactory) const SAL_THROW ( (SQLException) )
98*cdf0e10cSrcweir 	{
99*cdf0e10cSrcweir 		return ::dbtools::getConnection_withFeedback(_rDataSourceName, _rUser, _rPwd, _rxFactory);
100*cdf0e10cSrcweir 	}
101*cdf0e10cSrcweir 
102*cdf0e10cSrcweir 	//----------------------------------------------------------------
103*cdf0e10cSrcweir 	Reference< XConnection> ODataAccessStaticTools::connectRowset(const Reference< XRowSet>& _rxRowSet, const Reference< XMultiServiceFactory>& _rxFactory, sal_Bool _bSetAsActiveConnection) const
104*cdf0e10cSrcweir 		SAL_THROW ( (SQLException, WrappedTargetException, RuntimeException) )
105*cdf0e10cSrcweir 	{
106*cdf0e10cSrcweir 		return ::dbtools::connectRowset( _rxRowSet, _rxFactory, _bSetAsActiveConnection);
107*cdf0e10cSrcweir 	}
108*cdf0e10cSrcweir 
109*cdf0e10cSrcweir 	// ------------------------------------------------
110*cdf0e10cSrcweir 	Reference< XConnection> ODataAccessStaticTools::getRowSetConnection(
111*cdf0e10cSrcweir 				const Reference< XRowSet>& _rxRowSet)
112*cdf0e10cSrcweir 				const SAL_THROW ( (RuntimeException) )
113*cdf0e10cSrcweir 	{
114*cdf0e10cSrcweir 		return ::dbtools::getConnection(_rxRowSet);
115*cdf0e10cSrcweir 	}
116*cdf0e10cSrcweir 
117*cdf0e10cSrcweir 	//----------------------------------------------------------------
118*cdf0e10cSrcweir 	Reference< XNumberFormatsSupplier> ODataAccessStaticTools::getNumberFormats(const Reference< XConnection>& _rxConn, sal_Bool _bAllowDefault) const
119*cdf0e10cSrcweir 	{
120*cdf0e10cSrcweir 		return ::dbtools::getNumberFormats(_rxConn, _bAllowDefault);
121*cdf0e10cSrcweir 	}
122*cdf0e10cSrcweir 
123*cdf0e10cSrcweir 	//----------------------------------------------------------------
124*cdf0e10cSrcweir 	sal_Int32 ODataAccessStaticTools::getDefaultNumberFormat( const Reference< XPropertySet >& _rxColumn, const Reference< XNumberFormatTypes >& _rxTypes,
125*cdf0e10cSrcweir 		const Locale& _rLocale ) const
126*cdf0e10cSrcweir 	{
127*cdf0e10cSrcweir 		return ::dbtools::getDefaultNumberFormat( _rxColumn, _rxTypes, _rLocale );
128*cdf0e10cSrcweir 	}
129*cdf0e10cSrcweir 
130*cdf0e10cSrcweir 	//----------------------------------------------------------------
131*cdf0e10cSrcweir 	void ODataAccessStaticTools::TransferFormComponentProperties(const Reference< XPropertySet>& _rxOld, const Reference< XPropertySet>& _rxNew, const Locale& _rLocale) const
132*cdf0e10cSrcweir 	{
133*cdf0e10cSrcweir 		::dbtools::TransferFormComponentProperties(_rxOld, _rxNew, _rLocale);
134*cdf0e10cSrcweir 	}
135*cdf0e10cSrcweir 
136*cdf0e10cSrcweir 	//----------------------------------------------------------------
137*cdf0e10cSrcweir 	::rtl::OUString ODataAccessStaticTools::quoteName(const ::rtl::OUString& _rQuote, const ::rtl::OUString& _rName) const
138*cdf0e10cSrcweir 	{
139*cdf0e10cSrcweir 		return ::dbtools::quoteName(_rQuote, _rName);
140*cdf0e10cSrcweir 	}
141*cdf0e10cSrcweir 
142*cdf0e10cSrcweir 	//----------------------------------------------------------------
143*cdf0e10cSrcweir 	::rtl::OUString ODataAccessStaticTools::composeTableNameForSelect( const Reference< XConnection >& _rxConnection, const ::rtl::OUString& _rCatalog, const ::rtl::OUString& _rSchema, const ::rtl::OUString& _rName ) const
144*cdf0e10cSrcweir     {
145*cdf0e10cSrcweir         return ::dbtools::composeTableNameForSelect( _rxConnection, _rCatalog, _rSchema, _rName );
146*cdf0e10cSrcweir     }
147*cdf0e10cSrcweir 
148*cdf0e10cSrcweir 	//----------------------------------------------------------------
149*cdf0e10cSrcweir     ::rtl::OUString ODataAccessStaticTools::composeTableNameForSelect( const Reference< XConnection >& _rxConnection, const Reference< XPropertySet>& _xTable ) const
150*cdf0e10cSrcweir     {
151*cdf0e10cSrcweir         return ::dbtools::composeTableNameForSelect( _rxConnection, _xTable );
152*cdf0e10cSrcweir     }
153*cdf0e10cSrcweir 
154*cdf0e10cSrcweir 	//----------------------------------------------------------------
155*cdf0e10cSrcweir 	SQLContext ODataAccessStaticTools::prependContextInfo(SQLException& _rException, const Reference< XInterface >& _rxContext,
156*cdf0e10cSrcweir 		const ::rtl::OUString& _rContextDescription, const ::rtl::OUString& _rContextDetails) const
157*cdf0e10cSrcweir 	{
158*cdf0e10cSrcweir 		return ::dbtools::prependContextInfo(_rException, _rxContext, _rContextDescription, _rContextDetails);
159*cdf0e10cSrcweir 	}
160*cdf0e10cSrcweir 
161*cdf0e10cSrcweir 	//----------------------------------------------------------------
162*cdf0e10cSrcweir 	Reference< XDataSource > ODataAccessStaticTools::getDataSource( const ::rtl::OUString& _rsRegisteredName, const Reference< XMultiServiceFactory>& _rxFactory ) const
163*cdf0e10cSrcweir 	{
164*cdf0e10cSrcweir 		return ::dbtools::getDataSource( _rsRegisteredName, _rxFactory );
165*cdf0e10cSrcweir 	}
166*cdf0e10cSrcweir 
167*cdf0e10cSrcweir 	//----------------------------------------------------------------
168*cdf0e10cSrcweir 	sal_Bool ODataAccessStaticTools::canInsert(const Reference< XPropertySet>& _rxCursorSet) const
169*cdf0e10cSrcweir 	{
170*cdf0e10cSrcweir 		return ::dbtools::canInsert( _rxCursorSet );
171*cdf0e10cSrcweir 	}
172*cdf0e10cSrcweir 
173*cdf0e10cSrcweir 	//----------------------------------------------------------------
174*cdf0e10cSrcweir 	sal_Bool ODataAccessStaticTools::canUpdate(const Reference< XPropertySet>& _rxCursorSet) const
175*cdf0e10cSrcweir 	{
176*cdf0e10cSrcweir 		return ::dbtools::canUpdate( _rxCursorSet );
177*cdf0e10cSrcweir 	}
178*cdf0e10cSrcweir 
179*cdf0e10cSrcweir 	//----------------------------------------------------------------
180*cdf0e10cSrcweir 	sal_Bool ODataAccessStaticTools::canDelete(const Reference< XPropertySet>& _rxCursorSet) const
181*cdf0e10cSrcweir 	{
182*cdf0e10cSrcweir 		return ::dbtools::canDelete( _rxCursorSet );
183*cdf0e10cSrcweir 	}
184*cdf0e10cSrcweir 
185*cdf0e10cSrcweir 	//----------------------------------------------------------------
186*cdf0e10cSrcweir 	Reference< XNameAccess > ODataAccessStaticTools::getFieldsByCommandDescriptor( const Reference< XConnection >& _rxConnection,
187*cdf0e10cSrcweir 		const sal_Int32 _nCommandType, const ::rtl::OUString& _rCommand,
188*cdf0e10cSrcweir 			Reference< XComponent >& _rxKeepFieldsAlive, ::dbtools::SQLExceptionInfo* _pErrorInfo ) SAL_THROW( ( ) )
189*cdf0e10cSrcweir 	{
190*cdf0e10cSrcweir 		return ::dbtools::getFieldsByCommandDescriptor( _rxConnection, _nCommandType, _rCommand,
191*cdf0e10cSrcweir 			_rxKeepFieldsAlive, _pErrorInfo );
192*cdf0e10cSrcweir 	}
193*cdf0e10cSrcweir 
194*cdf0e10cSrcweir 	//----------------------------------------------------------------
195*cdf0e10cSrcweir 	Sequence< ::rtl::OUString > ODataAccessStaticTools::getFieldNamesByCommandDescriptor(
196*cdf0e10cSrcweir 		const Reference< XConnection >& _rxConnection, const sal_Int32 _nCommandType,
197*cdf0e10cSrcweir 		const ::rtl::OUString& _rCommand, ::dbtools::SQLExceptionInfo* _pErrorInfo ) SAL_THROW( ( ) )
198*cdf0e10cSrcweir 	{
199*cdf0e10cSrcweir 		return ::dbtools::getFieldNamesByCommandDescriptor( _rxConnection, _nCommandType,
200*cdf0e10cSrcweir 			_rCommand, _pErrorInfo );
201*cdf0e10cSrcweir 	}
202*cdf0e10cSrcweir 
203*cdf0e10cSrcweir 	// ------------------------------------------------
204*cdf0e10cSrcweir     bool ODataAccessStaticTools::isEmbeddedInDatabase( const Reference< XInterface >& _rxComponent, Reference< XConnection >& _rxActualConnection )
205*cdf0e10cSrcweir     {
206*cdf0e10cSrcweir 		return ::dbtools::isEmbeddedInDatabase( _rxComponent, _rxActualConnection );
207*cdf0e10cSrcweir     }
208*cdf0e10cSrcweir 
209*cdf0e10cSrcweir //........................................................................
210*cdf0e10cSrcweir }	// namespace connectivity
211*cdf0e10cSrcweir //........................................................................
212*cdf0e10cSrcweir 
213