summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2009-04-23 10:42:05 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2009-04-23 10:42:05 +0000
commitd4420993d60255a2624b522cd085d0129d232bf7 (patch)
tree205dbc978d16cd7e9ab48d861d18f15928a4035d /dbaccess/source/ui
parent7599f68cee9141cd16ca7697872b5f83c6ae9ad9 (diff)
CWS-TOOLING: integrate CWS dbaperf1
2009-04-02 09:12:25 +0200 oj r270372 : CWS-TOOLING: rebase CWS dbaperf1 to trunk@270033 (milestone: DEV300:m45) 2009-03-17 10:20:34 +0100 oj r269577 : add parameter 2009-03-17 10:20:05 +0100 oj r269576 : add parameter 2009-03-12 12:32:24 +0100 oj r269387 : add missing ++ 2009-03-11 12:53:35 +0100 oj r269315 : compile error 2009-03-06 08:52:11 +0100 oj r268968 : #i99264# remove duplicate code 2009-03-06 08:20:08 +0100 oj r268966 : add missingheader 2009-03-06 08:17:41 +0100 oj r268965 : add header 2009-03-06 08:15:07 +0100 oj r268964 : #i99708# remove duplicate code 2009-03-06 07:24:11 +0100 oj r268963 : #i99708# remove duplicate code 2009-03-06 07:22:24 +0100 oj r268962 : #i99708# use tenary operator 2009-03-06 07:19:21 +0100 oj r268961 : remove unused rtl_logs 2009-03-06 07:15:55 +0100 oj r268960 : #i99708# extract getLength from for loop 2009-03-06 07:15:35 +0100 oj r268959 : #i99708# extract getLength from for loop 2009-03-06 07:14:57 +0100 oj r268958 : remove unused rtl_logs 2009-03-06 07:13:01 +0100 oj r268957 : insert DBG_ helper 2009-03-06 07:12:17 +0100 oj r268956 : remove unused rtl_logs 2009-03-06 07:10:26 +0100 oj r268955 : remove unused rtl_logs 2009-03-06 07:04:51 +0100 oj r268954 : #i99708# use tenary operator 2009-03-05 12:04:46 +0100 oj r268895 : comment RTL_LOG out 2009-03-05 09:05:07 +0100 oj r268874 : add rtl logfile 2009-03-04 14:21:18 +0100 oj r268828 : #i99708# make static inplace and some method calls in for loop removed 2009-03-04 14:20:34 +0100 oj r268827 : #i99708# impl double check pattern for getInfohelper 2009-03-02 09:31:42 +0100 oj r268636 : add rtl logfile 2009-03-02 08:18:37 +0100 oj r268633 : add rtl logfile 2009-02-27 11:22:16 +0100 oj r268570 : #i99709# change algorithm for marking objects 2009-02-27 11:17:04 +0100 oj r268568 : #i99708# some improvements to load forms, controls faster and replacement of size() call with !empty() which is much faster 2009-02-24 10:09:35 +0100 sb r268383 : #i99290# no longer care to set a sensible context class loader for native threads attached to the VM 2009-02-23 13:44:04 +0100 oj r268354 : #i76606# seekrow changes 2009-02-23 12:27:30 +0100 oj r268349 : deleted 2009-02-20 15:14:23 +0100 oj r268325 : #i76606# some code changes 2009-02-19 14:15:25 +0100 oj r268284 : #i76606# use of simple prep stmt instead of full blown rowset, when source and dest connection are the same use insert into ... ( select ... ) 2009-02-19 11:27:55 +0100 oj r268265 : #i76606# insert some RTL_LOG and setObject impl 2009-02-18 14:45:37 +0100 oj r268222 : #i99363# insert RTL_LOG 2009-02-18 14:45:18 +0100 oj r268221 : #i99363# insert RTL_LOG 2009-02-18 11:14:54 +0100 oj r268207 : #i99363# call some impl_ methods to avoid duplicate cechCache calls 2009-02-18 11:10:47 +0100 oj r268206 : #i99363# make isCount inline 2009-02-18 10:33:22 +0100 oj r268203 : #i99363# use bookmarkable if available and inserted some RTL_LOG 2009-02-18 10:32:57 +0100 oj r268202 : #i99363# use bookmarkable if available and inserted some RTL_LOG 2009-02-17 07:29:05 +0100 oj r267843 : #i96897# remove some dll public 2009-02-16 15:01:04 +0100 oj r267816 : #i96897# remove some dll public 2009-02-16 14:25:53 +0100 oj r267810 : #i99264# remove duplicate code 2009-02-16 14:25:33 +0100 oj r267809 : #i99264# remove duplicate code 2009-02-16 14:24:59 +0100 oj r267808 : #i99264# remove duplicate code 2009-02-13 10:56:17 +0100 oj r267703 : #i99191# comment the contextclassloader 2009-02-13 10:32:40 +0100 oj r267700 : reduce call to resultset meta data 2009-02-13 10:27:31 +0100 oj r267699 : reduce call to resultset meta data 2009-02-13 10:27:08 +0100 oj r267698 : reduce call to resultset meta data
Diffstat (limited to 'dbaccess/source/ui')
-rw-r--r--dbaccess/source/ui/browser/brwctrlr.cxx194
-rw-r--r--dbaccess/source/ui/browser/unodatbr.cxx89
-rw-r--r--dbaccess/source/ui/inc/DExport.hxx31
-rw-r--r--dbaccess/source/ui/inc/brwctrlr.hxx4
-rw-r--r--dbaccess/source/ui/misc/DExport.cxx204
-rw-r--r--dbaccess/source/ui/misc/HtmlReader.cxx87
-rw-r--r--dbaccess/source/ui/misc/RowSetDrop.cxx22
-rw-r--r--dbaccess/source/ui/misc/RtfReader.cxx65
-rw-r--r--dbaccess/source/ui/misc/TableCopyHelper.cxx10
-rw-r--r--dbaccess/source/ui/misc/TokenWriter.cxx81
-rw-r--r--dbaccess/source/ui/misc/UITools.cxx37
-rw-r--r--dbaccess/source/ui/misc/UpdateHelperImpl.hxx19
-rw-r--r--dbaccess/source/ui/misc/WCopyTable.cxx31
-rw-r--r--dbaccess/source/ui/uno/copytablewizard.cxx1932
14 files changed, 1440 insertions, 1366 deletions
diff --git a/dbaccess/source/ui/browser/brwctrlr.cxx b/dbaccess/source/ui/browser/brwctrlr.cxx
index 679a4d4f20e7..50f0e4594c7f 100644
--- a/dbaccess/source/ui/browser/brwctrlr.cxx
+++ b/dbaccess/source/ui/browser/brwctrlr.cxx
@@ -194,6 +194,7 @@
#ifndef DBAUI_QUERYORDER_HXX
#include "queryorder.hxx"
#endif
+#include <rtl/logfile.hxx>
#include <svx/svxdlg.hxx> //CHINA001
//#include <svx/fmresids.hrc> //CHINA001
@@ -422,6 +423,7 @@ void SAL_CALL SbaXDataBrowserController::FormControllerImpl::disposing(const ::c
//------------------------------------------------------------------
Sequence< Type > SAL_CALL SbaXDataBrowserController::getTypes( ) throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::getTypes" );
return ::comphelper::concatSequences(
SbaXDataBrowserController_Base::getTypes(),
m_pFormControllerImpl->getTypes()
@@ -431,6 +433,7 @@ Sequence< Type > SAL_CALL SbaXDataBrowserController::getTypes( ) throw (Runtime
//------------------------------------------------------------------
Sequence< sal_Int8 > SAL_CALL SbaXDataBrowserController::getImplementationId( ) throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::getImplementationId" );
static ::cppu::OImplementationId * pId = 0;
if (! pId)
{
@@ -447,6 +450,7 @@ Sequence< sal_Int8 > SAL_CALL SbaXDataBrowserController::getImplementationId( )
//------------------------------------------------------------------
Any SAL_CALL SbaXDataBrowserController::queryInterface(const Type& _rType) throw (RuntimeException)
{
+ //RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::queryInterface" );
// check for our additional interfaces
Any aRet = SbaXDataBrowserController_Base::queryInterface(_rType);
@@ -481,6 +485,7 @@ SbaXDataBrowserController::SbaXDataBrowserController(const Reference< ::com::sun
,m_bClosingKillOpen( sal_False )
,m_bErrorOccured( sal_False )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::SbaXDataBrowserController" );
DBG_CTOR(SbaXDataBrowserController,NULL);
// create the form controller aggregate
@@ -499,6 +504,7 @@ SbaXDataBrowserController::SbaXDataBrowserController(const Reference< ::com::sun
//------------------------------------------------------------------------------
SbaXDataBrowserController::~SbaXDataBrowserController()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::~SbaXDataBrowserController" );
// deleteView();
// release the aggregated form controller
if (m_xFormControllerImpl.is())
@@ -513,6 +519,7 @@ SbaXDataBrowserController::~SbaXDataBrowserController()
// -----------------------------------------------------------------------
void SbaXDataBrowserController::startFrameListening( const Reference< XFrame >& _rxFrame )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::startFrameListening" );
SbaXDataBrowserController_Base::startFrameListening( _rxFrame );
Reference< XFrameActionListener > xAggListener;
@@ -526,6 +533,7 @@ void SbaXDataBrowserController::startFrameListening( const Reference< XFrame >&
// -----------------------------------------------------------------------
void SbaXDataBrowserController::stopFrameListening( const Reference< XFrame >& _rxFrame )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::stopFrameListening" );
SbaXDataBrowserController_Base::stopFrameListening( _rxFrame );
Reference< XFrameActionListener > xAggListener;
@@ -539,6 +547,7 @@ void SbaXDataBrowserController::stopFrameListening( const Reference< XFrame >& _
// -----------------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::reloadForm(const Reference< XLoadable >& _rxLoadable)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::reloadForm" );
WaitObject aWO(getBrowserView());
setLoadingStarted();
@@ -555,6 +564,7 @@ sal_Bool SbaXDataBrowserController::reloadForm(const Reference< XLoadable >& _rx
// -----------------------------------------------------------------------------
void SbaXDataBrowserController::initFormatter()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::initFormatter" );
// ---------------------------------------------------------------
// create a formatter working with the connections format supplier
Reference< ::com::sun::star::util::XNumberFormatsSupplier > xSupplier(::dbtools::getNumberFormats(::dbtools::getConnection(m_xRowSet), sal_True,getORB()));
@@ -573,6 +583,7 @@ void SbaXDataBrowserController::initFormatter()
// -----------------------------------------------------------------------------
void SbaXDataBrowserController::describeSupportedFeatures()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::describeSupportedFeatures" );
SbaXDataBrowserController_Base::describeSupportedFeatures();
implDescribeSupportedFeature( ".uno:FormSlots/undoRecord", ID_BROWSER_UNDORECORD, CommandGroup::CONTROLS );
implDescribeSupportedFeature( ".uno:FormController/undoRecord", ID_BROWSER_UNDORECORD, CommandGroup::CONTROLS );
@@ -596,6 +607,7 @@ void SbaXDataBrowserController::describeSupportedFeatures()
//------------------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::Construct(Window* pParent)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::Construct" );
// ---------------------------------------------
// create/initialize the form and the grid model
m_xRowSet = CreateForm();
@@ -712,34 +724,40 @@ sal_Bool SbaXDataBrowserController::Construct(Window* pParent)
//------------------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::LoadForm()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::LoadForm" );
reloadForm( m_xLoadable );
return sal_True;
}
//------------------------------------------------------------------------------
void SbaXDataBrowserController::AddColumnListener(const Reference< XPropertySet > & /*xCol*/)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::AddColumnListener" );
// we're not interested in any column properties ...
}
//------------------------------------------------------------------------------
void SbaXDataBrowserController::RemoveColumnListener(const Reference< XPropertySet > & /*xCol*/)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::RemoveColumnListener" );
}
//------------------------------------------------------------------------------
Reference< XRowSet > SbaXDataBrowserController::CreateForm()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::CreateForm" );
return Reference< XRowSet > (getORB()->createInstance(::rtl::OUString::createFromAscii("com.sun.star.form.component.Form")), UNO_QUERY);
}
//------------------------------------------------------------------------------
Reference< ::com::sun::star::form::XFormComponent > SbaXDataBrowserController::CreateGridModel()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::CreateGridModel" );
return Reference< ::com::sun::star::form::XFormComponent > (getORB()->createInstance(::rtl::OUString::createFromAscii("com.sun.star.form.component.GridControl")), UNO_QUERY);
}
// -------------------------------------------------------------------------
void SbaXDataBrowserController::addModelListeners(const Reference< ::com::sun::star::awt::XControlModel > & _xGridControlModel)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::addModelListeners" );
// ... all the grid columns
addColumnListeners(_xGridControlModel);
@@ -756,6 +774,7 @@ void SbaXDataBrowserController::addModelListeners(const Reference< ::com::sun::s
// -------------------------------------------------------------------------
void SbaXDataBrowserController::removeModelListeners(const Reference< XControlModel > & _xGridControlModel)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::removeModelListeners" );
// every single column model
Reference< XIndexContainer > xColumns(_xGridControlModel, UNO_QUERY);
if (xColumns.is())
@@ -780,6 +799,7 @@ void SbaXDataBrowserController::removeModelListeners(const Reference< XControlMo
// -------------------------------------------------------------------------
void SbaXDataBrowserController::addControlListeners(const Reference< ::com::sun::star::awt::XControl > & _xGridControl)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::addControlListeners" );
// to ge the 'modified' for the current cell
Reference< XModifyBroadcaster > xBroadcaster(getBrowserView()->getGridControl(), UNO_QUERY);
if (xBroadcaster.is())
@@ -799,6 +819,7 @@ void SbaXDataBrowserController::addControlListeners(const Reference< ::com::sun:
// -------------------------------------------------------------------------
void SbaXDataBrowserController::removeControlListeners(const Reference< ::com::sun::star::awt::XControl > & _xGridControl)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::removeControlListeners" );
Reference< XModifyBroadcaster > xBroadcaster(_xGridControl, UNO_QUERY);
if (xBroadcaster.is())
xBroadcaster->removeModifyListener(static_cast<XModifyListener*>(this));
@@ -815,6 +836,7 @@ void SbaXDataBrowserController::removeControlListeners(const Reference< ::com::s
//------------------------------------------------------------------
void SAL_CALL SbaXDataBrowserController::focusGained(const FocusEvent& /*e*/) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::focusGained" );
// notify our activate listeners (registered on the form controller aggregate)
EventObject aEvt(*this);
::cppu::OInterfaceIteratorHelper aIter(m_pFormControllerImpl->m_aActivateListeners);
@@ -825,6 +847,7 @@ void SAL_CALL SbaXDataBrowserController::focusGained(const FocusEvent& /*e*/) th
//------------------------------------------------------------------
void SAL_CALL SbaXDataBrowserController::focusLost(const FocusEvent& e) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::focusLost" );
// some general checks
if (!getBrowserView() || !getBrowserView()->getGridControl().is())
return;
@@ -859,18 +882,21 @@ void SAL_CALL SbaXDataBrowserController::focusLost(const FocusEvent& e) throw( R
// -------------------------------------------------------------------------
void SbaXDataBrowserController::disposingGridControl(const ::com::sun::star::lang::EventObject& /*Source*/)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::disposingGridControl" );
removeControlListeners(getBrowserView()->getGridControl());
}
// -------------------------------------------------------------------------
void SbaXDataBrowserController::disposingGridModel(const ::com::sun::star::lang::EventObject& /*Source*/)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::disposingGridModel" );
removeModelListeners(getControlModel());
}
// -------------------------------------------------------------------------
void SbaXDataBrowserController::disposingFormModel(const ::com::sun::star::lang::EventObject& Source)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::disposingFormModel" );
Reference< XPropertySet > xSourceSet(Source.Source, UNO_QUERY);
if (xSourceSet.is())
{
@@ -899,12 +925,14 @@ void SbaXDataBrowserController::disposingFormModel(const ::com::sun::star::lang:
// -------------------------------------------------------------------------
void SbaXDataBrowserController::disposingColumnModel(const ::com::sun::star::lang::EventObject& Source)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::disposingColumnModel" );
RemoveColumnListener(Reference< XPropertySet > (Source.Source, UNO_QUERY));
}
// -------------------------------------------------------------------------
void SbaXDataBrowserController::disposing(const EventObject& Source) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::disposing" );
// if it's a component other than our aggregate, forward it to the aggregate
if ( m_xFormControllerImpl != Source.Source )
{
@@ -945,6 +973,7 @@ void SbaXDataBrowserController::disposing(const EventObject& Source) throw( Runt
// -----------------------------------------------------------------------
void SAL_CALL SbaXDataBrowserController::setIdentifier( const ::rtl::OUString& _Identifier ) throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::setIdentifier" );
::osl::MutexGuard aGuard( getMutex() );
m_sModuleIdentifier = _Identifier;
}
@@ -952,6 +981,7 @@ void SAL_CALL SbaXDataBrowserController::setIdentifier( const ::rtl::OUString& _
// -----------------------------------------------------------------------
::rtl::OUString SAL_CALL SbaXDataBrowserController::getIdentifier( ) throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::getIdentifier" );
::osl::MutexGuard aGuard( getMutex() );
return m_sModuleIdentifier;
}
@@ -959,6 +989,7 @@ void SAL_CALL SbaXDataBrowserController::setIdentifier( const ::rtl::OUString& _
// -----------------------------------------------------------------------
void SbaXDataBrowserController::propertyChange(const PropertyChangeEvent& evt) throw ( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::propertyChange" );
Reference< XPropertySet > xSource(evt.Source, UNO_QUERY);
if (!xSource.is())
return;
@@ -983,37 +1014,40 @@ void SbaXDataBrowserController::propertyChange(const PropertyChangeEvent& evt) t
InvalidateAll();
}
+
// the filter or the sort criterias have changed ? -> update our parser
- if (m_xParser.is())
+ if (evt.PropertyName.equals(PROPERTY_ACTIVECOMMAND))
{
- if (evt.PropertyName.equals(PROPERTY_ACTIVECOMMAND))
- {
+ initializeParser();
+ if (m_xParser.is())
DO_SAFE( m_xParser->setElementaryQuery(::comphelper::getString(evt.NewValue)), "SbaXDataBrowserController::propertyChange : could not forward the new query to my parser !" );
- }
- else if (evt.PropertyName.equals(PROPERTY_FILTER))
+ }
+ else if (evt.PropertyName.equals(PROPERTY_FILTER))
+ {
+ initializeParser();
+ if ( m_xParser.is() && m_xParser->getFilter() != ::comphelper::getString(evt.NewValue))
{
- if (m_xParser->getFilter() != ::comphelper::getString(evt.NewValue))
- {
- DO_SAFE( m_xParser->setFilter(::comphelper::getString(evt.NewValue)), "SbaXDataBrowserController::propertyChange : could not forward the new filter to my parser !" );
- }
- InvalidateFeature(ID_BROWSER_REMOVEFILTER);
+ DO_SAFE( m_xParser->setFilter(::comphelper::getString(evt.NewValue)), "SbaXDataBrowserController::propertyChange : could not forward the new filter to my parser !" );
}
- else if (evt.PropertyName.equals(PROPERTY_HAVING_CLAUSE))
+ InvalidateFeature(ID_BROWSER_REMOVEFILTER);
+ }
+ else if (evt.PropertyName.equals(PROPERTY_HAVING_CLAUSE))
+ {
+ initializeParser();
+ if ( m_xParser.is() && m_xParser->getHavingClause() != ::comphelper::getString(evt.NewValue))
{
- if (m_xParser->getHavingClause() != ::comphelper::getString(evt.NewValue))
- {
- DO_SAFE( m_xParser->setHavingClause(::comphelper::getString(evt.NewValue)), "SbaXDataBrowserController::propertyChange : could not forward the new filter to my parser !" );
- }
- InvalidateFeature(ID_BROWSER_REMOVEFILTER);
+ DO_SAFE( m_xParser->setHavingClause(::comphelper::getString(evt.NewValue)), "SbaXDataBrowserController::propertyChange : could not forward the new filter to my parser !" );
}
- else if (evt.PropertyName.equals(PROPERTY_ORDER))
+ InvalidateFeature(ID_BROWSER_REMOVEFILTER);
+ }
+ else if (evt.PropertyName.equals(PROPERTY_ORDER))
+ {
+ initializeParser();
+ if ( m_xParser.is() && m_xParser->getOrder() != ::comphelper::getString(evt.NewValue))
{
- if (m_xParser->getOrder() != ::comphelper::getString(evt.NewValue))
- {
- DO_SAFE( m_xParser->setOrder(::comphelper::getString(evt.NewValue)), "SbaXDataBrowserController::propertyChange : could not forward the new order to my parser !" );
- }
- InvalidateFeature(ID_BROWSER_REMOVEFILTER);
+ DO_SAFE( m_xParser->setOrder(::comphelper::getString(evt.NewValue)), "SbaXDataBrowserController::propertyChange : could not forward the new order to my parser !" );
}
+ InvalidateFeature(ID_BROWSER_REMOVEFILTER);
}
// a new record count ? -> may be our search availability has changed
@@ -1030,12 +1064,14 @@ void SbaXDataBrowserController::propertyChange(const PropertyChangeEvent& evt) t
//------------------------------------------------------------------------
void SbaXDataBrowserController::modified(const ::com::sun::star::lang::EventObject& /*aEvent*/) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::modified" );
setCurrentModified( sal_True );
}
// -----------------------------------------------------------------------
void SbaXDataBrowserController::elementInserted(const ::com::sun::star::container::ContainerEvent& evt) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::elementInserted" );
DBG_ASSERT(Reference< XInterface >(evt.Source, UNO_QUERY).get() == Reference< XInterface >(getControlModel(), UNO_QUERY).get(),
"SbaXDataBrowserController::elementInserted: where did this come from (not from the grid model)?!");
Reference< XPropertySet > xNewColumn(evt.Element,UNO_QUERY);
@@ -1046,6 +1082,7 @@ void SbaXDataBrowserController::elementInserted(const ::com::sun::star::containe
// -----------------------------------------------------------------------
void SbaXDataBrowserController::elementRemoved(const ::com::sun::star::container::ContainerEvent& evt) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::elementRemoved" );
DBG_ASSERT(Reference< XInterface >(evt.Source, UNO_QUERY).get() == Reference< XInterface >(getControlModel(), UNO_QUERY).get(),
"SbaXDataBrowserController::elementRemoved: where did this come from (not from the grid model)?!");
Reference< XPropertySet > xOldColumn(evt.Element,UNO_QUERY);
@@ -1056,6 +1093,7 @@ void SbaXDataBrowserController::elementRemoved(const ::com::sun::star::container
// -----------------------------------------------------------------------
void SbaXDataBrowserController::elementReplaced(const ::com::sun::star::container::ContainerEvent& evt) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::elementReplaced" );
DBG_ASSERT(Reference< XInterface >(evt.Source, UNO_QUERY).get() == Reference< XInterface >(getControlModel(), UNO_QUERY).get(),
"SbaXDataBrowserController::elementReplaced: where did this come from (not from the grid model)?!");
Reference< XPropertySet > xOldColumn(evt.ReplacedElement,UNO_QUERY);
@@ -1070,6 +1108,7 @@ void SbaXDataBrowserController::elementReplaced(const ::com::sun::star::containe
// -----------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::suspend(sal_Bool /*bSuspend*/) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::suspend" );
// have a pending open operation ?
if (PendingLoad())
{
@@ -1120,6 +1159,7 @@ sal_Bool SbaXDataBrowserController::suspend(sal_Bool /*bSuspend*/) throw( Runtim
// -----------------------------------------------------------------------
void SbaXDataBrowserController::disposing()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::disposing" );
// and dispose the aggregate
if (m_xFormControllerImpl.is())
{
@@ -1219,6 +1259,7 @@ void SbaXDataBrowserController::disposing()
//------------------------------------------------------------------------------
void SbaXDataBrowserController::frameAction(const ::com::sun::star::frame::FrameActionEvent& aEvent) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::frameAction" );
::osl::MutexGuard aGuard( getMutex() );
SbaXDataBrowserController_Base::frameAction( aEvent );
@@ -1256,6 +1297,7 @@ void SbaXDataBrowserController::frameAction(const ::com::sun::star::frame::Frame
//------------------------------------------------------------------------------
void SbaXDataBrowserController::errorOccured(const ::com::sun::star::sdb::SQLErrorEvent& aEvent) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::errorOccured" );
SQLExceptionInfo aInfo(aEvent.Reason);
if ( aInfo.isValid() )
{
@@ -1270,6 +1312,7 @@ void SbaXDataBrowserController::errorOccured(const ::com::sun::star::sdb::SQLErr
//------------------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::approveParameter(const ::com::sun::star::form::DatabaseParameterEvent& aEvent) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::approveParameter" );
if (aEvent.Source != getRowSet())
{
// not my data source -> allow anything
@@ -1355,12 +1398,14 @@ sal_Bool SbaXDataBrowserController::approveParameter(const ::com::sun::star::for
//------------------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::approveReset(const ::com::sun::star::lang::EventObject& /*rEvent*/) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::approveReset" );
return sal_True;
}
//------------------------------------------------------------------------------
void SbaXDataBrowserController::resetted(const ::com::sun::star::lang::EventObject& rEvent) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::resetted" );
DBG_ASSERT(rEvent.Source == getControlModel(), "SbaXDataBrowserController::resetted : where did this come from ?");
(void)rEvent;
setCurrentModified( sal_False );
@@ -1369,6 +1414,7 @@ void SbaXDataBrowserController::resetted(const ::com::sun::star::lang::EventObje
//------------------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::confirmDelete(const ::com::sun::star::sdb::RowChangeEvent& /*aEvent*/) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::confirmDelete" );
if (QueryBox(getBrowserView(), ModuleRes(QUERY_BRW_DELETE_ROWS)).Execute() != RET_YES)
return sal_False;
@@ -1377,6 +1423,7 @@ sal_Bool SbaXDataBrowserController::confirmDelete(const ::com::sun::star::sdb::R
//------------------------------------------------------------------------------
FeatureState SbaXDataBrowserController::GetState(sal_uInt16 nId) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::GetState" );
FeatureState aReturn;
// (disabled automatically)
@@ -1390,7 +1437,10 @@ FeatureState SbaXDataBrowserController::GetState(sal_uInt16 nId) const
{
case ID_BROWSER_REMOVEFILTER:
if (!m_xParser.is())
- break;
+ {
+ aReturn.bEnabled = false;
+ return aReturn;
+ }
// any filter or sort order set ?
aReturn.bEnabled = m_xParser->getFilter().getLength() || m_xParser->getHavingClause().getLength() || m_xParser->getOrder().getLength();
return aReturn;
@@ -1463,7 +1513,8 @@ FeatureState SbaXDataBrowserController::GetState(sal_uInt16 nId) const
case ID_BROWSER_AUTOFILTER:
{
// a native statement can't be filtered or sorted
- if (!m_xParser.is())
+ const Reference< XPropertySet > xFormSet(getRowSet(), UNO_QUERY);
+ if ( !::comphelper::getBOOL(xFormSet->getPropertyValue(PROPERTY_ESCAPE_PROCESSING)))
break;
Reference< XPropertySet > xCurrentField = getBoundField();
@@ -1471,8 +1522,7 @@ FeatureState SbaXDataBrowserController::GetState(sal_uInt16 nId) const
break;
aReturn.bEnabled = ::comphelper::getBOOL(xCurrentField->getPropertyValue(PROPERTY_ISSEARCHABLE));
- Reference< XRowSet > xRow = getRowSet();
- Reference< XPropertySet > xFormSet(getRowSet(), UNO_QUERY);
+ const Reference< XRowSet > xRow = getRowSet();
if(aReturn.bEnabled && xRow.is()) // check if we stand on a valid row
aReturn.bEnabled = !(xRow->isBeforeFirst() || xRow->isAfterLast() || xRow->rowDeleted() || ::comphelper::getINT32(xFormSet->getPropertyValue(PROPERTY_ROWCOUNT)) == 0);
}
@@ -1480,17 +1530,19 @@ FeatureState SbaXDataBrowserController::GetState(sal_uInt16 nId) const
case ID_BROWSER_ORDERCRIT:
case ID_BROWSER_FILTERCRIT:
- if (!m_xParser.is())
- break;
{
+ const Reference< XPropertySet > xFormSet(getRowSet(), UNO_QUERY);
+ if ( !::comphelper::getBOOL(xFormSet->getPropertyValue(PROPERTY_ESCAPE_PROCESSING)))
+ break;
+
Reference< XPropertySet > xCurrentField = getBoundField();
// we are not in the handle column
aReturn.bEnabled = getBrowserView()->getVclControl()->GetCurColumnId() != 0 &&
xCurrentField.is() &&
::comphelper::getBOOL(xCurrentField->getPropertyValue(PROPERTY_ISSEARCHABLE));
- Reference< XRowSet > xRow = getRowSet();
- Reference< XPropertySet > xFormSet(getRowSet(), UNO_QUERY);
+ const Reference< XRowSet > xRow = getRowSet();
+
if(aReturn.bEnabled && xRow.is()) // check if we stand on a valid row
aReturn.bEnabled = !(xRow->isBeforeFirst() || xRow->isAfterLast() || xRow->rowDeleted() || ::comphelper::getINT32(xFormSet->getPropertyValue(PROPERTY_ROWCOUNT)) == 0);
// a native statement can't be filtered or sorted
@@ -1578,6 +1630,7 @@ FeatureState SbaXDataBrowserController::GetState(sal_uInt16 nId) const
//------------------------------------------------------------------------------
void SbaXDataBrowserController::applyParserOrder(const ::rtl::OUString& _rOldOrder)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::applyParserOrder" );
Reference< XPropertySet > xFormSet(getRowSet(), UNO_QUERY);
if (!m_xLoadable.is())
{
@@ -1620,6 +1673,7 @@ void SbaXDataBrowserController::applyParserOrder(const ::rtl::OUString& _rOldOrd
//------------------------------------------------------------------------------
void SbaXDataBrowserController::applyParserFilter(const ::rtl::OUString& _rOldFilter, sal_Bool _bOldFilterApplied,const ::rtl::OUString& _sOldHaving)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::applyParserFilter" );
Reference< XPropertySet > xFormSet(getRowSet(), UNO_QUERY);
if (!m_xLoadable.is())
{
@@ -1668,6 +1722,7 @@ void SbaXDataBrowserController::applyParserFilter(const ::rtl::OUString& _rOldFi
//------------------------------------------------------------------------------
void SbaXDataBrowserController::ExecuteFilterSortCrit(sal_Bool bFilter)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::ExecuteFilterSortCrit" );
if (!SaveModified())
return;
@@ -1678,8 +1733,9 @@ void SbaXDataBrowserController::ExecuteFilterSortCrit(sal_Bool bFilter)
getRowSet()->rowDeleted())
return;
- ::rtl::OUString sOldVal = bFilter ? m_xParser->getFilter() : m_xParser->getOrder();
- ::rtl::OUString sOldHaving = m_xParser->getHavingClause();
+ initializeParser();
+ const ::rtl::OUString sOldVal = bFilter ? m_xParser->getFilter() : m_xParser->getOrder();
+ const ::rtl::OUString sOldHaving = m_xParser->getHavingClause();
try
{
Reference< ::com::sun::star::sdbcx::XColumnsSupplier> xSup = getColumnsSupplier();
@@ -1736,6 +1792,7 @@ void SbaXDataBrowserController::ExecuteFilterSortCrit(sal_Bool bFilter)
//------------------------------------------------------------------------------
void SbaXDataBrowserController::ExecuteSearch()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::ExecuteSearch" );
// calculate the control source of the active field
Reference< ::com::sun::star::form::XGrid > xGrid(getBrowserView()->getGridControl(), UNO_QUERY);
DBG_ASSERT(xGrid.is(), "SbaXDataBrowserController::ExecuteSearch : the control should have an ::com::sun::star::form::XGrid interface !");
@@ -1794,6 +1851,7 @@ void SbaXDataBrowserController::ExecuteSearch()
//------------------------------------------------------------------------------
void SbaXDataBrowserController::Execute(sal_uInt16 nId, const Sequence< PropertyValue >& _rArgs)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::Execute" );
sal_Bool bSortUp = sal_True;
switch (nId)
@@ -1915,7 +1973,8 @@ void SbaXDataBrowserController::Execute(sal_uInt16 nId, const Sequence< Property
if (!xField.is())
break;
- ::rtl::OUString sOldSort = m_xParser->getOrder();
+ initializeParser();
+ const ::rtl::OUString sOldSort = m_xParser->getOrder();
sal_Bool bParserSuccess = sal_False;
HANDLE_SQL_ERRORS(
m_xParser->setOrder(::rtl::OUString()); m_xParser->appendOrderByColumn(xField, bSortUp),
@@ -1945,6 +2004,7 @@ void SbaXDataBrowserController::Execute(sal_uInt16 nId, const Sequence< Property
sal_Bool bHaving = sal_False;
::rtl::OUString sName;
xField->getPropertyValue(PROPERTY_NAME) >>= sName;
+ initializeParser();
Reference< XColumnsSupplier > xColumnsSupplier(m_xParser, UNO_QUERY);
Reference< ::com::sun::star::container::XNameAccess > xCols = xColumnsSupplier.is() ? xColumnsSupplier->getColumns() : Reference< ::com::sun::star::container::XNameAccess > ();
if ( xCols.is() && xCols->hasByName(sName) )
@@ -1955,8 +2015,8 @@ void SbaXDataBrowserController::Execute(sal_uInt16 nId, const Sequence< Property
xProp->getPropertyValue(sAgg) >>= bHaving;
}
- ::rtl::OUString sOldFilter = m_xParser->getFilter();
- ::rtl::OUString sOldHaving = m_xParser->getHavingClause();
+ const ::rtl::OUString sOldFilter = m_xParser->getFilter();
+ const ::rtl::OUString sOldHaving = m_xParser->getHavingClause();
Reference< XPropertySet > xFormSet(getRowSet(), UNO_QUERY);
sal_Bool bApplied = ::comphelper::getBOOL(xFormSet->getPropertyValue(PROPERTY_APPLYFILTER));
@@ -2086,6 +2146,7 @@ void SbaXDataBrowserController::Execute(sal_uInt16 nId, const Sequence< Property
//------------------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::SaveModified(sal_Bool bAskFor)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::SaveModified" );
if ( bAskFor && GetState(ID_BROWSER_SAVERECORD).bEnabled )
{
getBrowserView()->getVclControl()->GrabFocus();
@@ -2136,6 +2197,7 @@ sal_Bool SbaXDataBrowserController::SaveModified(sal_Bool bAskFor)
//------------------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::CommitCurrent()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::CommitCurrent" );
if (!getBrowserView())
return sal_True;
@@ -2157,6 +2219,7 @@ sal_Bool SbaXDataBrowserController::CommitCurrent()
//------------------------------------------------------------------------------
void SbaXDataBrowserController::setCurrentModified( sal_Bool _bSet )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::setCurrentModified" );
m_bCurrentlyModified = _bSet;
InvalidateFeature( ID_BROWSER_SAVERECORD );
InvalidateFeature( ID_BROWSER_UNDORECORD );
@@ -2165,12 +2228,14 @@ void SbaXDataBrowserController::setCurrentModified( sal_Bool _bSet )
//------------------------------------------------------------------------------
void SbaXDataBrowserController::RowChanged()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::RowChanged" );
setCurrentModified( sal_False );
}
//------------------------------------------------------------------------------
void SbaXDataBrowserController::ColumnChanged()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::ColumnChanged" );
InvalidateFeature(ID_BROWSER_SORTUP);
InvalidateFeature(ID_BROWSER_SORTDOWN);
InvalidateFeature(ID_BROWSER_ORDERCRIT);
@@ -2184,12 +2249,14 @@ void SbaXDataBrowserController::ColumnChanged()
//------------------------------------------------------------------------------
void SbaXDataBrowserController::SelectionChanged()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::SelectionChanged" );
// not interested in
}
//------------------------------------------------------------------------------
void SbaXDataBrowserController::CellActivated()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::CellActivated" );
m_aInvalidateClipboard.Start();
OnInvalidateClipboard( NULL );
}
@@ -2197,6 +2264,7 @@ void SbaXDataBrowserController::CellActivated()
//------------------------------------------------------------------------------
void SbaXDataBrowserController::CellDeactivated()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::CellDeactivated" );
m_aInvalidateClipboard.Stop();
OnInvalidateClipboard( NULL );
}
@@ -2262,6 +2330,7 @@ IMPL_LINK(SbaXDataBrowserController, OnInvalidateClipboard, AutoTimer*, _pTimer)
// -------------------------------------------------------------------------
Reference< XPropertySet > SbaXDataBrowserController::getBoundField(sal_uInt16 nViewPos) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::SaveData" );
Reference< XPropertySet > xEmptyReturn;
// get the current column from the grid
@@ -2464,27 +2533,41 @@ IMPL_LINK(SbaXDataBrowserController, OnAsyncGetCellFocus, void*, EMPTYARG)
//------------------------------------------------------------------------------
void SbaXDataBrowserController::criticalFail()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::criticalFail" );
InvalidateAll();
}
//------------------------------------------------------------------------------
void SbaXDataBrowserController::LoadFinished(sal_Bool /*bWasSynch*/)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::LoadFinished" );
if (isValid() && !loadingCancelled())
{
// --------------------------------
// switch the control to alive mode
getBrowserView()->getGridControl()->setDesignMode(sal_False);
+ // -------------------------------
+ InvalidateAll();
+
+ m_aAsyncGetCellFocus.Call();
+ }
+}
+// -----------------------------------------------------------------------------
+void SbaXDataBrowserController::initializeParser() const
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::initializeParser" );
+ if ( !m_xParser.is() )
+ {
// ----------------------------------------------
// create a parser (needed for filtering/sorting)
try
{
- Reference< XPropertySet > xFormSet(getRowSet(), UNO_QUERY);
+ const Reference< XPropertySet > xFormSet(getRowSet(), UNO_QUERY);
if (::comphelper::getBOOL(xFormSet->getPropertyValue(PROPERTY_ESCAPE_PROCESSING)))
{ // (only if the statement isn't native)
// (it is allowed to use the PROPERTY_ISPASSTHROUGH : _after_ loading a form it is valid)
- Reference<XMultiServiceFactory> xFactory(::dbtools::getConnection(getRowSet()),UNO_QUERY);
+ const Reference<XMultiServiceFactory> xFactory(::dbtools::getConnection(getRowSet()),UNO_QUERY);
if ( xFactory.is() )
m_xParser.set(xFactory->createInstance(SERVICE_NAME_SINGLESELECTQUERYCOMPOSER),UNO_QUERY);
}
@@ -2500,20 +2583,16 @@ void SbaXDataBrowserController::LoadFinished(sal_Bool /*bWasSynch*/)
}
catch(Exception&)
{
- DBG_WARNING("SbaXDataBrowserController::LoadFinished: something went wrong while creating the parser !");
+ DBG_WARNING("SbaXDataBrowserController::initializeParser: something went wrong while creating the parser !");
m_xParser = NULL;
// no further handling, we ignore the error
}
-
- // -------------------------------
- InvalidateAll();
-
- m_aAsyncGetCellFocus.Call();
}
}
//------------------------------------------------------------------------------
void SbaXDataBrowserController::loaded(const EventObject& /*aEvent*/) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::loaded" );
// not interested in
// we're loading within an separate thread and have a handling for it's "finished event"
}
@@ -2521,12 +2600,14 @@ void SbaXDataBrowserController::loaded(const EventObject& /*aEvent*/) throw( Run
//------------------------------------------------------------------------------
void SbaXDataBrowserController::unloading(const EventObject& /*aEvent*/) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::unloading" );
// not interested in
}
//------------------------------------------------------------------------------
void SbaXDataBrowserController::unloaded(const EventObject& /*aEvent*/) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::unloaded" );
InvalidateAll();
// do this asynchron, there are other listeners reacting on this message ...
// (it's a little hack : the grid columns are listening to this event, too, and their bound field may
@@ -2546,12 +2627,14 @@ void SbaXDataBrowserController::unloaded(const EventObject& /*aEvent*/) throw( R
//------------------------------------------------------------------------------
void SbaXDataBrowserController::reloading(const EventObject& /*aEvent*/) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::reloading" );
// not interested in
}
//------------------------------------------------------------------------------
void SbaXDataBrowserController::reloaded(const EventObject& /*aEvent*/) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::reloaded" );
InvalidateAll();
// do this asynchronously, there are other listeners reacting on this message ...
// (it's a little hack : the grid columns are listening to this event, too, and their bound field may
@@ -2562,6 +2645,7 @@ void SbaXDataBrowserController::reloaded(const EventObject& /*aEvent*/) throw( R
//------------------------------------------------------------------------------
void SbaXDataBrowserController::enterFormAction()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::enterFormAction" );
if (!m_nFormActionNestingLevel)
// first action -> reset flag
m_bErrorOccured = false;
@@ -2572,6 +2656,7 @@ void SbaXDataBrowserController::enterFormAction()
//------------------------------------------------------------------------------
void SbaXDataBrowserController::leaveFormAction()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::leaveFormAction" );
DBG_ASSERT(m_nFormActionNestingLevel > 0, "SbaXDataBrowserController::leaveFormAction : invalid call !");
--m_nFormActionNestingLevel;
}
@@ -2579,21 +2664,32 @@ void SbaXDataBrowserController::leaveFormAction()
// -------------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::isLoaded() const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::isLoaded" );
return m_xLoadable.is() && m_xLoadable->isLoaded();
}
// -------------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::isValidCursor() const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::isValidCursor" );
if (!m_xColumnsSupplier.is())
return sal_False;
Reference< ::com::sun::star::container::XNameAccess > xCols = m_xColumnsSupplier->getColumns();
if (!xCols.is() || !xCols->hasElements())
return sal_False;
- Reference<XPropertySet> xProp(m_xRowSet,UNO_QUERY);
- return ::cppu::any2bool(xProp->getPropertyValue(PROPERTY_ISNEW)) || !(m_xRowSet->isBeforeFirst() || m_xRowSet->isAfterLast()) ||
- (m_xParser.is() && (m_xParser->getFilter().getLength() || m_xParser->getHavingClause().getLength() || m_xParser->getOrder().getLength()));
+ sal_Bool bIsValid = !(m_xRowSet->isBeforeFirst() || m_xRowSet->isAfterLast());
+ if ( !bIsValid )
+ {
+ Reference<XPropertySet> xProp(m_xRowSet,UNO_QUERY);
+ bIsValid = ::cppu::any2bool(xProp->getPropertyValue(PROPERTY_ISNEW));
+ if ( !bIsValid )
+ {
+ initializeParser();
+ bIsValid = (m_xParser.is() && (m_xParser->getFilter().getLength() || m_xParser->getHavingClause().getLength() || m_xParser->getOrder().getLength()));
+ }
+ } // if ( !bIsValid )
+ return bIsValid;
}
//==================================================================
@@ -2935,6 +3031,7 @@ IMPL_LINK(LoadFormThread::ThreadStopper, OnDeleteInMainThread, LoadFormThread::T
// -----------------------------------------------------------------------------
sal_Int16 SbaXDataBrowserController::getCurrentColumnPosition()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::getCurrentColumnPosition" );
Reference< ::com::sun::star::form::XGrid > xGrid(getBrowserView()->getGridControl(), UNO_QUERY);
sal_Int16 nViewPos = -1;
try
@@ -2948,6 +3045,7 @@ sal_Int16 SbaXDataBrowserController::getCurrentColumnPosition()
// -----------------------------------------------------------------------------
void SbaXDataBrowserController::setCurrentColumnPosition( sal_Int16 _nPos )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::setCurrentColumnPosition" );
Reference< ::com::sun::star::form::XGrid > xGrid(getBrowserView()->getGridControl(), UNO_QUERY);
try
{
@@ -2959,6 +3057,7 @@ void SbaXDataBrowserController::setCurrentColumnPosition( sal_Int16 _nPos )
// -----------------------------------------------------------------------------
void SbaXDataBrowserController::BeforeDrop()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::BeforeDrop" );
Reference< ::com::sun::star::sdb::XSQLErrorBroadcaster > xFormError(getRowSet(), UNO_QUERY);
if (xFormError.is())
xFormError->removeSQLErrorListener((::com::sun::star::sdb::XSQLErrorListener*)this);
@@ -2966,6 +3065,7 @@ void SbaXDataBrowserController::BeforeDrop()
// -----------------------------------------------------------------------------
void SbaXDataBrowserController::AfterDrop()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::AfterDrop" );
Reference< ::com::sun::star::sdb::XSQLErrorBroadcaster > xFormError(getRowSet(), UNO_QUERY);
if (xFormError.is())
xFormError->addSQLErrorListener((::com::sun::star::sdb::XSQLErrorListener*)this);
@@ -2973,6 +3073,7 @@ void SbaXDataBrowserController::AfterDrop()
// -----------------------------------------------------------------------------
void SbaXDataBrowserController::addColumnListeners(const Reference< ::com::sun::star::awt::XControlModel > & _xGridControlModel)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::addColumnListeners" );
// ... all the grid columns
Reference< ::com::sun::star::container::XIndexContainer > xColumns(_xGridControlModel, UNO_QUERY);
if (xColumns.is())
@@ -2988,6 +3089,7 @@ void SbaXDataBrowserController::addColumnListeners(const Reference< ::com::sun::
// -----------------------------------------------------------------------------
sal_Bool SbaXDataBrowserController::InitializeGridModel(const Reference< ::com::sun::star::form::XFormComponent > & /*xGrid*/)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaXDataBrowserController::InitializeGridModel" );
return sal_True;
}
//..................................................................
diff --git a/dbaccess/source/ui/browser/unodatbr.cxx b/dbaccess/source/ui/browser/unodatbr.cxx
index 86dc62eda2de..57a4a9270c25 100644
--- a/dbaccess/source/ui/browser/unodatbr.cxx
+++ b/dbaccess/source/ui/browser/unodatbr.cxx
@@ -133,6 +133,7 @@
#include <vcl/toolbox.hxx>
#include <vcl/waitobj.hxx>
#include <vcl/wrkwin.hxx>
+#include <rtl/logfile.hxx>
#include <memory>
@@ -194,21 +195,25 @@ void SafeRemovePropertyListener(const Reference< XPropertySet > & xSet, const ::
//-------------------------------------------------------------------------
::rtl::OUString SAL_CALL SbaTableQueryBrowser::getImplementationName() throw(RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getImplementationName" );
return getImplementationName_Static();
}
//-------------------------------------------------------------------------
::comphelper::StringSequence SAL_CALL SbaTableQueryBrowser::getSupportedServiceNames() throw(RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getSupportedServiceNames" );
return getSupportedServiceNames_Static();
}
// -------------------------------------------------------------------------
::rtl::OUString SbaTableQueryBrowser::getImplementationName_Static() throw(RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getImplementationName_Static" );
return ::rtl::OUString::createFromAscii("org.openoffice.comp.dbu.ODatasourceBrowser");
}
//-------------------------------------------------------------------------
::comphelper::StringSequence SbaTableQueryBrowser::getSupportedServiceNames_Static() throw(RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getSupportedServiceNames_Static" );
::comphelper::StringSequence aSupported(1);
aSupported.getArray()[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdb.DataSourceBrowser");
return aSupported;
@@ -216,6 +221,7 @@ void SafeRemovePropertyListener(const Reference< XPropertySet > & xSet, const ::
//-------------------------------------------------------------------------
Reference< XInterface > SAL_CALL SbaTableQueryBrowser::Create(const Reference<XMultiServiceFactory >& _rxFactory)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::Create" );
::vos::OGuard aGuard(Application::GetSolarMutex());
return *(new SbaTableQueryBrowser(_rxFactory));
}
@@ -238,6 +244,7 @@ SbaTableQueryBrowser::SbaTableQueryBrowser(const Reference< XMultiServiceFactory
,m_bInSuspend(sal_False)
,m_bEnableBrowser(sal_True)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::SbaTableQueryBrowser" );
DBG_CTOR(SbaTableQueryBrowser,NULL);
}
@@ -257,6 +264,7 @@ SbaTableQueryBrowser::~SbaTableQueryBrowser()
//------------------------------------------------------------------------------
Any SAL_CALL SbaTableQueryBrowser::queryInterface(const Type& _rType) throw (RuntimeException)
{
+ //RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::queryInterface" );
if ( _rType.equals( XScriptInvocationContext::static_type() ) )
{
OSL_PRECOND( !!m_aDocScriptSupport, "SbaTableQueryBrowser::queryInterface: did not initialize this, yet!" );
@@ -274,6 +282,7 @@ Any SAL_CALL SbaTableQueryBrowser::queryInterface(const Type& _rType) throw (Run
//------------------------------------------------------------------------------
Sequence< Type > SAL_CALL SbaTableQueryBrowser::getTypes( ) throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getTypes" );
Sequence< Type > aTypes( ::comphelper::concatSequences(
SbaXDataBrowserController::getTypes(),
SbaTableQueryBrowser_Base::getTypes()
@@ -297,6 +306,7 @@ Sequence< Type > SAL_CALL SbaTableQueryBrowser::getTypes( ) throw (RuntimeExcep
//------------------------------------------------------------------------------
Sequence< sal_Int8 > SAL_CALL SbaTableQueryBrowser::getImplementationId( ) throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getImplementationId" );
static ::cppu::OImplementationId * pId = 0;
if (! pId)
{
@@ -313,6 +323,7 @@ Sequence< sal_Int8 > SAL_CALL SbaTableQueryBrowser::getImplementationId( ) thro
//------------------------------------------------------------------------------
void SAL_CALL SbaTableQueryBrowser::disposing()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::disposing" );
::vos::OGuard aGuard(Application::GetSolarMutex());
// doin' a lot of VCL stuff here -> lock the SolarMutex
@@ -351,6 +362,7 @@ void SAL_CALL SbaTableQueryBrowser::disposing()
//------------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::Construct(Window* pParent)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::Construct" );
if (!SbaXDataBrowserController::Construct(pParent))
return sal_False;
@@ -419,6 +431,7 @@ sal_Bool SbaTableQueryBrowser::Construct(Window* pParent)
// -------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::InitializeForm(const Reference< ::com::sun::star::sdbc::XRowSet > & _rxForm)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::InitializeForm" );
if(!m_pCurrentlyDisplayed)
return sal_True;
@@ -475,6 +488,7 @@ sal_Bool SbaTableQueryBrowser::InitializeForm(const Reference< ::com::sun::star:
//------------------------------------------------------------------------------
void SbaTableQueryBrowser::initializePreviewMode()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::initializePreviewMode" );
if ( getBrowserView() && getBrowserView()->getVclControl() )
{
getBrowserView()->getVclControl()->AlwaysEnableInput( FALSE );
@@ -493,6 +507,7 @@ void SbaTableQueryBrowser::initializePreviewMode()
//------------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::InitializeGridModel(const Reference< ::com::sun::star::form::XFormComponent > & xGrid)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::InitializeGridModel" );
try
{
Reference< ::com::sun::star::form::XGridColumnFactory > xColFactory(xGrid, UNO_QUERY);
@@ -723,6 +738,7 @@ Reference<XPropertySet> getColumnHelper(SvLBoxEntry* _pCurrentlyDisplayed,const
// -----------------------------------------------------------------------
void SbaTableQueryBrowser::transferChangedControlProperty(const ::rtl::OUString& _rProperty, const Any& _rNewValue)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::transferChangedControlProperty" );
if(m_pCurrentlyDisplayed)
{
DBTreeListUserData* pData = static_cast<DBTreeListUserData*>(m_pCurrentlyDisplayed->GetUserData());
@@ -736,6 +752,7 @@ void SbaTableQueryBrowser::transferChangedControlProperty(const ::rtl::OUString&
// -----------------------------------------------------------------------
void SbaTableQueryBrowser::propertyChange(const PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::propertyChange" );
SbaXDataBrowserController::propertyChange(evt);
try
@@ -844,6 +861,7 @@ void SbaTableQueryBrowser::propertyChange(const PropertyChangeEvent& evt) throw(
// -----------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::suspend(sal_Bool bSuspend) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::suspend" );
vos::OGuard aSolarGuard( Application::GetSolarMutex() );
::osl::MutexGuard aGuard( getMutex() );
if ( getView() && getView()->IsInModalMode() )
@@ -868,6 +886,7 @@ sal_Bool SbaTableQueryBrowser::suspend(sal_Bool bSuspend) throw( RuntimeExceptio
// -------------------------------------------------------------------------
void SAL_CALL SbaTableQueryBrowser::statusChanged( const FeatureStateEvent& _rEvent ) throw(RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::statusChanged" );
// search the external dispatcher causing this call
Reference< XDispatch > xSource(_rEvent.Source, UNO_QUERY);
ExternalFeaturesMap::iterator aLoop;
@@ -922,6 +941,7 @@ void SAL_CALL SbaTableQueryBrowser::statusChanged( const FeatureStateEvent& _rEv
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::checkDocumentDataSource()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::checkDocumentDataSource" );
SvLBoxEntry* pDataSourceEntry = NULL;
SvLBoxEntry* pContainerEntry = NULL;
SvLBoxEntry* pObjectEntry = getObjectEntry( m_aDocumentDataSource, &pDataSourceEntry, &pContainerEntry, sal_False );
@@ -959,6 +979,7 @@ void SbaTableQueryBrowser::checkDocumentDataSource()
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::extractDescriptorProps(const ::svx::ODataAccessDescriptor& _rDescriptor, ::rtl::OUString& _rDataSource, ::rtl::OUString& _rCommand, sal_Int32& _rCommandType, sal_Bool& _rEscapeProcessing)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::extractDescriptorProps" );
_rDataSource = _rDescriptor.getDataSource();
if ( _rDescriptor.has(daCommand) )
_rDescriptor[daCommand] >>= _rCommand;
@@ -1010,6 +1031,7 @@ namespace
// -------------------------------------------------------------------------
String SbaTableQueryBrowser::getDataSourceAcessor( SvLBoxEntry* _pDataSourceEntry ) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getDataSourceAcessor" );
DBG_ASSERT( _pDataSourceEntry, "SbaTableQueryBrowser::getDataSourceAcessor: invalid entry!" );
DBTreeListUserData* pData = static_cast< DBTreeListUserData* >( _pDataSourceEntry->GetUserData() );
@@ -1023,6 +1045,7 @@ SvLBoxEntry* SbaTableQueryBrowser::getObjectEntry(const ::rtl::OUString& _rDataS
SvLBoxEntry** _ppDataSourceEntry, SvLBoxEntry** _ppContainerEntry, sal_Bool _bExpandAncestors,
const SharedConnection& _rxConnection )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getObjectEntry" );
if (_ppDataSourceEntry)
*_ppDataSourceEntry = NULL;
if (_ppContainerEntry)
@@ -1097,6 +1120,7 @@ SvLBoxEntry* SbaTableQueryBrowser::getObjectEntry(const ::svx::ODataAccessDescri
SvLBoxEntry** _ppDataSourceEntry, SvLBoxEntry** _ppContainerEntry,
sal_Bool _bExpandAncestors)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getObjectEntry" );
// extract the props from the descriptor
::rtl::OUString sDataSource;
::rtl::OUString sCommand;
@@ -1110,6 +1134,7 @@ SvLBoxEntry* SbaTableQueryBrowser::getObjectEntry(const ::svx::ODataAccessDescri
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::connectExternalDispatches()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::connectExternalDispatches" );
Reference< XDispatchProvider > xProvider( getFrame(), UNO_QUERY );
DBG_ASSERT(xProvider.is(), "SbaTableQueryBrowser::connectExternalDispatches: no DispatchProvider !");
if (xProvider.is())
@@ -1176,6 +1201,7 @@ void SbaTableQueryBrowser::connectExternalDispatches()
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::implCheckExternalSlot( sal_uInt16 _nId )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::implCheckExternalSlot" );
if ( !m_xMainToolbar.is() )
return;
@@ -1198,6 +1224,7 @@ void SbaTableQueryBrowser::implCheckExternalSlot( sal_uInt16 _nId )
// -------------------------------------------------------------------------
void SAL_CALL SbaTableQueryBrowser::disposing( const EventObject& _rSource ) throw(RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::disposing" );
// our frame ?
Reference< ::com::sun::star::frame::XFrame > xSourceFrame(_rSource.Source, UNO_QUERY);
if (m_xCurrentFrameParent.is() && (xSourceFrame == m_xCurrentFrameParent))
@@ -1260,6 +1287,7 @@ void SAL_CALL SbaTableQueryBrowser::disposing( const EventObject& _rSource ) thr
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::implRemoveStatusListeners()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::implRemoveStatusListeners" );
// clear all old dispatches
for ( ExternalFeaturesMap::const_iterator aLoop = m_aExternalFeatures.begin();
aLoop != m_aExternalFeatures.end();
@@ -1284,6 +1312,7 @@ void SbaTableQueryBrowser::implRemoveStatusListeners()
// -------------------------------------------------------------------------
sal_Bool SAL_CALL SbaTableQueryBrowser::select( const Any& _rSelection ) throw (IllegalArgumentException, RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::select" );
::vos::OGuard aGuard(Application::GetSolarMutex());
// doin' a lot of VCL stuff here -> lock the SolarMutex
@@ -1313,6 +1342,7 @@ sal_Bool SAL_CALL SbaTableQueryBrowser::select( const Any& _rSelection ) throw (
// -------------------------------------------------------------------------
Any SAL_CALL SbaTableQueryBrowser::getSelection( ) throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getSelection" );
Any aReturn;
try
@@ -1340,18 +1370,21 @@ Any SAL_CALL SbaTableQueryBrowser::getSelection( ) throw (RuntimeException)
// -------------------------------------------------------------------------
void SAL_CALL SbaTableQueryBrowser::addSelectionChangeListener( const Reference< XSelectionChangeListener >& _rxListener ) throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::addSelectionChangeListener" );
m_aSelectionListeners.addInterface(_rxListener);
}
// -------------------------------------------------------------------------
void SAL_CALL SbaTableQueryBrowser::removeSelectionChangeListener( const Reference< XSelectionChangeListener >& _rxListener ) throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::removeSelectionChangeListener" );
m_aSelectionListeners.removeInterface(_rxListener);
}
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::attachFrame(const Reference< ::com::sun::star::frame::XFrame > & _xFrame) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::attachFrame" );
implRemoveStatusListeners();
if (m_xCurrentFrameParent.is())
@@ -1396,6 +1429,7 @@ void SbaTableQueryBrowser::attachFrame(const Reference< ::com::sun::star::frame:
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::addModelListeners(const Reference< ::com::sun::star::awt::XControlModel > & _xGridControlModel)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::addModelListeners" );
SbaXDataBrowserController::addModelListeners(_xGridControlModel);
Reference< XPropertySet > xSourceSet(_xGridControlModel, UNO_QUERY);
if (xSourceSet.is())
@@ -1413,6 +1447,7 @@ void SbaTableQueryBrowser::addModelListeners(const Reference< ::com::sun::star::
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::removeModelListeners(const Reference< ::com::sun::star::awt::XControlModel > & _xGridControlModel)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::removeModelListeners" );
SbaXDataBrowserController::removeModelListeners(_xGridControlModel);
Reference< XPropertySet > xSourceSet(_xGridControlModel, UNO_QUERY);
if (xSourceSet.is())
@@ -1428,6 +1463,7 @@ void SbaTableQueryBrowser::removeModelListeners(const Reference< ::com::sun::sta
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::RowChanged()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::RowChanged" );
if(getBrowserView())
{
SbaGridControl* pControl = getBrowserView()->getVclControl();
@@ -1440,6 +1476,7 @@ void SbaTableQueryBrowser::RowChanged()
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::ColumnChanged()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::ColumnChanged" );
if(getBrowserView())
{
SbaGridControl* pControl = getBrowserView()->getVclControl();
@@ -1451,6 +1488,7 @@ void SbaTableQueryBrowser::ColumnChanged()
//------------------------------------------------------------------------------
void SbaTableQueryBrowser::AddColumnListener(const Reference< XPropertySet > & xCol)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::AddColumnListener" );
SbaXDataBrowserController::AddColumnListener(xCol);
SafeAddPropertyListener(xCol, PROPERTY_WIDTH, static_cast<XPropertyChangeListener*>(this));
SafeAddPropertyListener(xCol, PROPERTY_HIDDEN, static_cast<XPropertyChangeListener*>(this));
@@ -1461,6 +1499,7 @@ void SbaTableQueryBrowser::AddColumnListener(const Reference< XPropertySet > & x
//------------------------------------------------------------------------------
void SbaTableQueryBrowser::RemoveColumnListener(const Reference< XPropertySet > & xCol)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::RemoveColumnListener" );
SbaXDataBrowserController::RemoveColumnListener(xCol);
SafeRemovePropertyListener(xCol, PROPERTY_WIDTH, static_cast<XPropertyChangeListener*>(this));
SafeRemovePropertyListener(xCol, PROPERTY_HIDDEN, static_cast<XPropertyChangeListener*>(this));
@@ -1471,6 +1510,7 @@ void SbaTableQueryBrowser::RemoveColumnListener(const Reference< XPropertySet >
//------------------------------------------------------------------------------
void SbaTableQueryBrowser::criticalFail()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::criticalFail" );
SbaXDataBrowserController::criticalFail();
unloadAndCleanup( sal_False );
}
@@ -1478,6 +1518,7 @@ void SbaTableQueryBrowser::criticalFail()
//------------------------------------------------------------------------------
void SbaTableQueryBrowser::LoadFinished(sal_Bool _bWasSynch)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::LoadFinished" );
SbaXDataBrowserController::LoadFinished(_bWasSynch);
m_sQueryCommand = ::rtl::OUString();
@@ -1518,6 +1559,7 @@ void SbaTableQueryBrowser::LoadFinished(sal_Bool _bWasSynch)
//------------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::getExternalSlotState( sal_uInt16 _nId ) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getExternalSlotState" );
sal_Bool bEnabled = sal_False;
ExternalFeaturesMap::const_iterator aPos = m_aExternalFeatures.find( _nId );
if ( ( m_aExternalFeatures.end() != aPos ) && aPos->second.xDispatcher.is() )
@@ -1528,6 +1570,7 @@ sal_Bool SbaTableQueryBrowser::getExternalSlotState( sal_uInt16 _nId ) const
//------------------------------------------------------------------------------
FeatureState SbaTableQueryBrowser::GetState(sal_uInt16 nId) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::GetState" );
FeatureState aReturn;
// (disabled automatically)
@@ -1723,6 +1766,7 @@ FeatureState SbaTableQueryBrowser::GetState(sal_uInt16 nId) const
//------------------------------------------------------------------------------
void SbaTableQueryBrowser::Execute(sal_uInt16 nId, const Sequence< PropertyValue >& aArgs)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::Execute" );
switch (nId)
{
default:
@@ -1913,6 +1957,7 @@ void SbaTableQueryBrowser::implAddDatasource(const String& _rDbName, Image& _rDb
String& _rQueryName, Image& _rQueryImage, String& _rTableName, Image& _rTableImage,
const SharedConnection& _rxConnection)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::implAddDatasource" );
vos::OGuard aGuard( Application::GetSolarMutex() );
// initialize the names/images if necessary
if (!_rQueryName.Len())
@@ -1966,6 +2011,7 @@ void SbaTableQueryBrowser::implAddDatasource(const String& _rDbName, Image& _rDb
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::initializeTreeModel()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::initializeTreeModel" );
if (m_xDatabaseContext.is())
{
Image aDBImage, aQueriesImage, aTablesImage;
@@ -1984,6 +2030,7 @@ sal_Bool SbaTableQueryBrowser::populateTree(const Reference<XNameAccess>& _xName
SvLBoxEntry* _pParent,
EntryType _eEntryType)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::populateTree" );
DBTreeListUserData* pData = static_cast<DBTreeListUserData*>(_pParent->GetUserData());
if(pData) // don't ask if the nameaccess is already set see OnExpandEntry views and tables
pData->xContainer = _xNameAccess;
@@ -2014,6 +2061,7 @@ sal_Bool SbaTableQueryBrowser::populateTree(const Reference<XNameAccess>& _xName
//------------------------------------------------------------------------------
void SbaTableQueryBrowser::implAppendEntry( SvLBoxEntry* _pParent, const String& _rName, void* _pUserData, EntryType _eEntryType )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::implAppendEntry" );
::std::auto_ptr< ImageProvider > pImageProvider( getImageProviderFor( _pParent ) );
Image aImage, aImageHC;
@@ -2030,6 +2078,7 @@ void SbaTableQueryBrowser::implAppendEntry( SvLBoxEntry* _pParent, const String&
//------------------------------------------------------------------------------
IMPL_LINK(SbaTableQueryBrowser, OnExpandEntry, SvLBoxEntry*, _pParent)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::OnExpandEntry" );
if (_pParent->HasChilds())
// nothing to to ...
return 1L;
@@ -2132,6 +2181,7 @@ IMPL_LINK(SbaTableQueryBrowser, OnExpandEntry, SvLBoxEntry*, _pParent)
//------------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::ensureEntryObject( SvLBoxEntry* _pEntry )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::ensureEntryObject" );
DBG_ASSERT(_pEntry, "SbaTableQueryBrowser::ensureEntryObject: invalid argument!");
if (!_pEntry)
return sal_False;
@@ -2191,6 +2241,7 @@ sal_Bool SbaTableQueryBrowser::ensureEntryObject( SvLBoxEntry* _pEntry )
//------------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::implSelect(const ::svx::ODataAccessDescriptor& _rDescriptor,sal_Bool _bSelectDirect)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::implSelect(_rDescriptor,_bSelectDirect)" );
// extract the props
::rtl::OUString sDataSource;
::rtl::OUString sCommand;
@@ -2206,6 +2257,7 @@ sal_Bool SbaTableQueryBrowser::implSelect(const ::svx::ODataAccessDescriptor& _r
sal_Bool SbaTableQueryBrowser::implLoadAnything(const ::rtl::OUString& _rDataSourceName, const ::rtl::OUString& _rCommand,
const sal_Int32 _nCommandType, const sal_Bool _bEscapeProcessing, const SharedConnection& _rxConnection)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::implLoadAnything" );
Reference<XPropertySet> xProp(getRowSet(),UNO_QUERY);
if(xProp.is())
{
@@ -2287,6 +2339,7 @@ sal_Bool SbaTableQueryBrowser::implSelect(const ::rtl::OUString& _rDataSourceNam
const SharedConnection& _rxConnection
,sal_Bool _bSelectDirect)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::implSelect(_rDataSourceName,_rCommand,...)" );
if (_rDataSourceName.getLength() && _rCommand.getLength() && (-1 != _nCommandType))
{
SvLBoxEntry* pDataSource = NULL;
@@ -2332,6 +2385,7 @@ IMPL_LINK(SbaTableQueryBrowser, OnSelectionChange, void*, /*NOINTERESTEDIN*/)
//------------------------------------------------------------------------------
bool SbaTableQueryBrowser::implSelect( SvLBoxEntry* _pEntry )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::implSelect(_pEntry)" );
if ( !_pEntry )
return false;
@@ -2525,6 +2579,7 @@ bool SbaTableQueryBrowser::implSelect( SvLBoxEntry* _pEntry )
// -----------------------------------------------------------------------------
SvLBoxEntry* SbaTableQueryBrowser::getEntryFromContainer(const Reference<XNameAccess>& _rxNameAccess)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getEntryFromContainer" );
DBTreeListBox& rListBox = m_pTreeView->getListBox();
SvLBoxEntry* pContainer = NULL;
SvLBoxEntry* pDSLoop = rListBox.FirstChild(NULL);
@@ -2549,6 +2604,7 @@ SvLBoxEntry* SbaTableQueryBrowser::getEntryFromContainer(const Reference<XNameAc
// -------------------------------------------------------------------------
void SAL_CALL SbaTableQueryBrowser::elementInserted( const ContainerEvent& _rEvent ) throw(RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::elementInserted" );
vos::OGuard aSolarGuard( Application::GetSolarMutex() );
Reference< XNameAccess > xNames(_rEvent.Source, UNO_QUERY);
@@ -2597,6 +2653,7 @@ void SAL_CALL SbaTableQueryBrowser::elementInserted( const ContainerEvent& _rEve
// -------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::isCurrentlyDisplayedChanged(const String& _sName,SvLBoxEntry* _pContainer)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::isCurrentlyDisplayedChanged" );
return m_pCurrentlyDisplayed
&& getEntryType(m_pCurrentlyDisplayed) == getChildType(_pContainer)
&& m_pTreeView->getListBox().GetParent(m_pCurrentlyDisplayed) == _pContainer
@@ -2605,6 +2662,7 @@ sal_Bool SbaTableQueryBrowser::isCurrentlyDisplayedChanged(const String& _sName,
// -------------------------------------------------------------------------
void SAL_CALL SbaTableQueryBrowser::elementRemoved( const ContainerEvent& _rEvent ) throw(RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::elementRemoved" );
::vos::OGuard aSolarGuard(Application::GetSolarMutex());
Reference< XNameAccess > xNames(_rEvent.Source, UNO_QUERY);
@@ -2714,6 +2772,7 @@ void SAL_CALL SbaTableQueryBrowser::elementRemoved( const ContainerEvent& _rEven
// -------------------------------------------------------------------------
void SAL_CALL SbaTableQueryBrowser::elementReplaced( const ContainerEvent& _rEvent ) throw(RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::elementReplaced" );
::vos::OGuard aSolarGuard(Application::GetSolarMutex());
Reference< XNameAccess > xNames(_rEvent.Source, UNO_QUERY);
@@ -2786,6 +2845,7 @@ void SAL_CALL SbaTableQueryBrowser::elementReplaced( const ContainerEvent& _rEve
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::impl_releaseConnection( SharedConnection& _rxConnection )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::impl_releaseConnection" );
// remove as event listener
Reference< XComponent > xComponent( _rxConnection, UNO_QUERY );
if ( xComponent.is() )
@@ -2814,6 +2874,7 @@ void SbaTableQueryBrowser::impl_releaseConnection( SharedConnection& _rxConnecti
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::disposeConnection( SvLBoxEntry* _pDSEntry )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::disposeConnection" );
DBG_ASSERT( _pDSEntry, "SbaTableQueryBrowser::disposeConnection: invalid entry (NULL)!" );
DBG_ASSERT( impl_isDataSourceEntry( _pDSEntry ), "SbaTableQueryBrowser::disposeConnection: invalid entry (not top-level)!" );
@@ -2828,6 +2889,7 @@ void SbaTableQueryBrowser::disposeConnection( SvLBoxEntry* _pDSEntry )
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::closeConnection(SvLBoxEntry* _pDSEntry,sal_Bool _bDisposeConnection)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::closeConnection" );
DBG_ASSERT(_pDSEntry, "SbaTableQueryBrowser::closeConnection: invalid entry (NULL)!");
DBG_ASSERT( impl_isDataSourceEntry( _pDSEntry ), "SbaTableQueryBrowser::closeConnection: invalid entry (not top-level)!");
@@ -2864,6 +2926,7 @@ void SbaTableQueryBrowser::closeConnection(SvLBoxEntry* _pDSEntry,sal_Bool _bDis
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::unloadAndCleanup( sal_Bool _bDisposeConnection )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::unloadAndCleanup" );
if (!m_pCurrentlyDisplayed)
// nothing to do
return;
@@ -2951,6 +3014,7 @@ namespace
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::impl_initialize()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::impl_initialize" );
::vos::OGuard aGuard(Application::GetSolarMutex());
// doin' a lot of VCL stuff here -> lock the SolarMutex
@@ -3130,12 +3194,14 @@ void SbaTableQueryBrowser::impl_initialize()
// -------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::haveExplorer() const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::haveExplorer" );
return m_pTreeView && m_pTreeView->IsVisible();
}
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::hideExplorer()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::hideExplorer" );
if (!haveExplorer())
return;
if (!getBrowserView())
@@ -3151,6 +3217,7 @@ void SbaTableQueryBrowser::hideExplorer()
// -------------------------------------------------------------------------
void SbaTableQueryBrowser::showExplorer()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::showExplorer" );
if (haveExplorer())
return;
@@ -3167,6 +3234,7 @@ void SbaTableQueryBrowser::showExplorer()
// -----------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::ensureConnection(SvLBoxEntry* _pAnyEntry, SharedConnection& _rConnection)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::ensureConnection" );
SvLBoxEntry* pDSEntry = m_pTreeView->getListBox().GetRootLevelParent(_pAnyEntry);
DBTreeListUserData* pDSData =
pDSEntry
@@ -3179,6 +3247,7 @@ sal_Bool SbaTableQueryBrowser::ensureConnection(SvLBoxEntry* _pAnyEntry, SharedC
// -----------------------------------------------------------------------------
::std::auto_ptr< ImageProvider > SbaTableQueryBrowser::getImageProviderFor( SvLBoxEntry* _pAnyEntry )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getImageProviderFor" );
::std::auto_ptr< ImageProvider > pImageProvider( new ImageProvider );
SharedConnection xConnection;
if ( getExistentConnectionFor( _pAnyEntry, xConnection ) )
@@ -3189,6 +3258,7 @@ sal_Bool SbaTableQueryBrowser::ensureConnection(SvLBoxEntry* _pAnyEntry, SharedC
// -----------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::getExistentConnectionFor( SvLBoxEntry* _pAnyEntry, SharedConnection& _rConnection )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getExistentConnectionFor" );
SvLBoxEntry* pDSEntry = m_pTreeView->getListBox().GetRootLevelParent( _pAnyEntry );
DBTreeListUserData* pDSData =
pDSEntry
@@ -3203,6 +3273,7 @@ sal_Bool SbaTableQueryBrowser::getExistentConnectionFor( SvLBoxEntry* _pAnyEntry
// -----------------------------------------------------------------------------
bool SbaTableQueryBrowser::impl_isDataSourceEntry( SvLBoxEntry* _pEntry ) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::impl_isDataSourceEntry" );
return m_pTreeModel->GetRootLevelParent( _pEntry ) == _pEntry;
}
#endif
@@ -3210,6 +3281,7 @@ bool SbaTableQueryBrowser::impl_isDataSourceEntry( SvLBoxEntry* _pEntry ) const
// -----------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::ensureConnection( SvLBoxEntry* _pDSEntry, void* pDSData, SharedConnection& _rConnection )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::ensureConnection" );
DBG_ASSERT( impl_isDataSourceEntry( _pDSEntry ), "SbaTableQueryBrowser::ensureConnection: this entry does not denote a data source!" );
if(_pDSEntry)
{
@@ -3312,6 +3384,7 @@ IMPL_LINK( SbaTableQueryBrowser, OnTreeEntryCompare, const SvSortData*, _pSortDa
// -----------------------------------------------------------------------------
void SbaTableQueryBrowser::implAdministrate( SvLBoxEntry* _pApplyTo )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::implAdministrate" );
OSL_PRECOND( _pApplyTo, "SbaTableQueryBrowser::implAdministrate: illegal entry!" );
if ( !_pApplyTo )
return;
@@ -3369,6 +3442,7 @@ void SbaTableQueryBrowser::implAdministrate( SvLBoxEntry* _pApplyTo )
// -----------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::requestQuickHelp( const SvLBoxEntry* _pEntry, String& _rText ) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::requestQuickHelp" );
const DBTreeListUserData* pData = static_cast< const DBTreeListUserData* >( _pEntry->GetUserData() );
if ( ( pData->eType == etDatasource ) && pData->sAccessor.Len() )
{
@@ -3381,6 +3455,7 @@ sal_Bool SbaTableQueryBrowser::requestQuickHelp( const SvLBoxEntry* _pEntry, Str
// -----------------------------------------------------------------------------
PopupMenu* SbaTableQueryBrowser::getContextMenu( Control& _rControl ) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getContextMenu" );
OSL_PRECOND( &m_pTreeView->getListBox() == &_rControl,
"SbaTableQueryBrowser::getContextMenu: where does this come from?" );
if ( &m_pTreeView->getListBox() != &_rControl )
@@ -3392,18 +3467,21 @@ PopupMenu* SbaTableQueryBrowser::getContextMenu( Control& _rControl ) const
// -----------------------------------------------------------------------------
IController& SbaTableQueryBrowser::getCommandController()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getCommandController" );
return *this;
}
// -----------------------------------------------------------------------------
::cppu::OInterfaceContainerHelper* SbaTableQueryBrowser::getContextMenuInterceptors()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getContextMenuInterceptors" );
return &m_aContextMenuInterceptors;
}
// -----------------------------------------------------------------------------
Any SbaTableQueryBrowser::getCurrentSelection( Control& _rControl ) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getCurrentSelection" );
OSL_PRECOND( &m_pTreeView->getListBox() == &_rControl,
"SbaTableQueryBrowser::getCurrentSelection: where does this come from?" );
@@ -3445,6 +3523,7 @@ Any SbaTableQueryBrowser::getCurrentSelection( Control& _rControl ) const
// -----------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::implGetQuerySignature( ::rtl::OUString& _rCommand, sal_Bool& _bEscapeProcessing )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::implGetQuerySignature" );
_rCommand = ::rtl::OUString();
_bEscapeProcessing = sal_False;
@@ -3493,6 +3572,7 @@ sal_Bool SbaTableQueryBrowser::implGetQuerySignature( ::rtl::OUString& _rCommand
//------------------------------------------------------------------------------
void SbaTableQueryBrowser::frameAction(const ::com::sun::star::frame::FrameActionEvent& aEvent) throw( RuntimeException )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::frameAction" );
if (aEvent.Frame == m_xCurrentFrameParent)
{
if(aEvent.Action == FrameAction_COMPONENT_DETACHING)
@@ -3507,6 +3587,7 @@ void SbaTableQueryBrowser::frameAction(const ::com::sun::star::frame::FrameActio
// -----------------------------------------------------------------------------
void SbaTableQueryBrowser::clearGridColumns(const Reference< XNameContainer >& _xColContainer)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::clearGridColumns" );
// first we have to clear the grid
Sequence< ::rtl::OUString > aNames = _xColContainer->getElementNames();
const ::rtl::OUString* pIter = aNames.getConstArray();
@@ -3522,6 +3603,7 @@ void SbaTableQueryBrowser::clearGridColumns(const Reference< XNameContainer >& _
// -----------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::isHiContrast() const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::isHiContrast" );
sal_Bool bRet = sal_False;
if ( m_pTreeView )
bRet = m_pTreeView->getListBox().GetBackground().GetColor().IsDark();
@@ -3530,6 +3612,7 @@ sal_Bool SbaTableQueryBrowser::isHiContrast() const
// -----------------------------------------------------------------------------
void SbaTableQueryBrowser::loadMenu(const Reference< XFrame >& _xFrame)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::loadMenu" );
if ( m_bShowMenu )
{
OGenericUnoController::loadMenu(_xFrame);
@@ -3551,6 +3634,7 @@ void SbaTableQueryBrowser::loadMenu(const Reference< XFrame >& _xFrame)
// -----------------------------------------------------------------------------
::rtl::OUString SbaTableQueryBrowser::getPrivateTitle() const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getPrivateTitle" );
::rtl::OUString sTitle;
if ( m_pCurrentlyDisplayed )
{
@@ -3575,6 +3659,7 @@ void SbaTableQueryBrowser::loadMenu(const Reference< XFrame >& _xFrame)
// -----------------------------------------------------------------------------
sal_Bool SbaTableQueryBrowser::preReloadForm()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::preReloadForm" );
sal_Bool bIni = sal_False;
if ( !m_pCurrentlyDisplayed )
{
@@ -3603,6 +3688,7 @@ sal_Bool SbaTableQueryBrowser::preReloadForm()
// -----------------------------------------------------------------------------
void SbaTableQueryBrowser::postReloadForm()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::postReloadForm" );
InitializeGridModel(getFormComponent());
LoadFinished(sal_True);
//updateTitle();
@@ -3611,6 +3697,7 @@ void SbaTableQueryBrowser::postReloadForm()
//------------------------------------------------------------------------------
Reference< XEmbeddedScripts > SAL_CALL SbaTableQueryBrowser::getScriptContainer() throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::getScriptContainer" );
Reference< XEmbeddedScripts > xScripts( m_xCurrentDatabaseDocument, UNO_QUERY );
OSL_ENSURE( xScripts.is() || !m_xCurrentDatabaseDocument.is(),
"SbaTableQueryBrowser::getScriptContainer: invalid database document!" );
@@ -3620,6 +3707,7 @@ Reference< XEmbeddedScripts > SAL_CALL SbaTableQueryBrowser::getScriptContainer(
//------------------------------------------------------------------------------
void SAL_CALL SbaTableQueryBrowser::registerContextMenuInterceptor( const Reference< XContextMenuInterceptor >& _Interceptor ) throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::registerContextMenuInterceptor" );
if ( _Interceptor.is() )
m_aContextMenuInterceptors.addInterface( _Interceptor );
}
@@ -3627,6 +3715,7 @@ void SAL_CALL SbaTableQueryBrowser::registerContextMenuInterceptor( const Refere
//------------------------------------------------------------------------------
void SAL_CALL SbaTableQueryBrowser::releaseContextMenuInterceptor( const Reference< XContextMenuInterceptor >& _Interceptor ) throw (RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaui", "Ocke.Janssen@sun.com", "SbaTableQueryBrowser::releaseContextMenuInterceptor" );
m_aContextMenuInterceptors.removeInterface( _Interceptor );
}
diff --git a/dbaccess/source/ui/inc/DExport.hxx b/dbaccess/source/ui/inc/DExport.hxx
index 2160351d6e7d..63aeee18cc8c 100644
--- a/dbaccess/source/ui/inc/DExport.hxx
+++ b/dbaccess/source/ui/inc/DExport.hxx
@@ -30,49 +30,22 @@
#ifndef DBAUI_DATABASEEXPORT_HXX
#define DBAUI_DATABASEEXPORT_HXX
-#ifndef _COM_SUN_STAR_SDBC_XRESULTSET_HPP_
#include <com/sun/star/sdbc/XResultSet.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XRESULTSETMETADATA_HPP_
#include <com/sun/star/sdbc/XResultSetMetaData.hpp>
-#endif
-#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
#include <com/sun/star/beans/XPropertySet.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATTER_HPP_
#include <com/sun/star/util/XNumberFormatter.hpp>
-#endif
-#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_
#include <com/sun/star/container/XNameAccess.hpp>
-#endif
-#ifndef _COM_SUN_STAR_CONTAINER_XINDEXACCESS_HPP_
#include <com/sun/star/container/XIndexAccess.hpp>
-#endif
-#ifndef _COM_SUN_STAR_LANG_LOCALE_HPP_
#include <com/sun/star/lang/Locale.hpp>
-#endif
-#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#endif
+#include <com/sun/star/util/Date.hpp>
#include <vector>
-#ifndef _STRING_HXX
#include <tools/string.hxx>
-#endif
-#ifndef _COMPHELPER_STLTYPES_HXX_
#include <comphelper/stl_types.hxx>
-#endif
-#ifndef DBAUI_TYPEINFO_HXX
#include "TypeInfo.hxx"
-#endif
-#ifndef DBAUI_WIZ_TYPESELECT_HXX
#include "WTypeSelect.hxx"
-#endif
-#ifndef _DBAUI_COMMON_TYPES_HXX_
#include "commontypes.hxx"
-#endif
-#ifndef DBAUI_IUPDATEHELPER_HXX
#include "IUpdateHelper.hxx"
-#endif
#include "WTypeSelect.hxx"
namespace com { namespace sun { namespace star {
@@ -117,9 +90,9 @@ namespace dbaui
::boost::shared_ptr<IUpdateHelper> m_pUpdateHelper;
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > m_xResultSet; //
- ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData > m_xResultSetMetaData; //
::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter > m_xFormatter; // a number formatter working with the connection's NumberFormatsSupplier
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory> m_xFactory;
+ ::com::sun::star::util::Date m_aNullDate;
SvNumberFormatter* m_pFormatter;
SvStream& m_rInputStream;
diff --git a/dbaccess/source/ui/inc/brwctrlr.hxx b/dbaccess/source/ui/inc/brwctrlr.hxx
index 04d73cf778ec..19a0971e4981 100644
--- a/dbaccess/source/ui/inc/brwctrlr.hxx
+++ b/dbaccess/source/ui/inc/brwctrlr.hxx
@@ -98,7 +98,8 @@ namespace dbaui
::com::sun::star::uno::Reference< ::com::sun::star::form::XFormComponent > m_xGridModel; // the model of our grid
::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter > m_xFormatter; // a number formatter working with the connection's NumberFormatsSupplier
::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation > m_xFormControllerImpl;
- ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSingleSelectQueryComposer > m_xParser; // for sorting 'n filtering
+ mutable ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSingleSelectQueryComposer >
+ m_xParser; // for sorting 'n filtering
AutoTimer m_aInvalidateClipboard; // for testing the state of the CUT/COPY/PASTE-slots
@@ -337,6 +338,7 @@ namespace dbaui
// execute the search slot
void ExecuteSearch();
+ void initializeParser() const; // changes the mutable member m_xParser
void applyParserFilter(const ::rtl::OUString& _rOldFilter, sal_Bool _bOldFilterApplied,const ::rtl::OUString& _sOldHaving = ::rtl::OUString());
void applyParserOrder(const ::rtl::OUString& _rOldOrder);
diff --git a/dbaccess/source/ui/misc/DExport.cxx b/dbaccess/source/ui/misc/DExport.cxx
index b366695301a0..dc71f6588828 100644
--- a/dbaccess/source/ui/misc/DExport.cxx
+++ b/dbaccess/source/ui/misc/DExport.cxx
@@ -34,128 +34,48 @@
#include "DExport.hxx"
#include "moduledbu.hxx"
-#ifndef _COM_SUN_STAR_SDBCX_XTABLESSUPPLIER_HPP_
#include <com/sun/star/sdbcx/XTablesSupplier.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_XDATADESCRIPTORFACTORY_HPP_
#include <com/sun/star/sdbcx/XDataDescriptorFactory.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_XCOLUMNSSUPPLIER_HPP_
#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_XAPPEND_HPP_
#include <com/sun/star/sdbcx/XAppend.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_KEYTYPE_HPP_
#include <com/sun/star/sdbcx/KeyType.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_DATATYPE_HPP_
#include <com/sun/star/sdbc/DataType.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_COLUMNVALUE_HPP_
#include <com/sun/star/sdbc/ColumnValue.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDB_COMMANDTYPE_HPP_
#include <com/sun/star/sdb/CommandType.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XRESULTSETMETADATASUPPLIER_HPP_
#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XROW_HPP_
#include <com/sun/star/sdbc/XRow.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_NUMBERFORMAT_HPP_
#include <com/sun/star/util/NumberFormat.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATTYPES_HPP_
#include <com/sun/star/util/XNumberFormatTypes.hpp>
-#endif
-#ifndef DBACCESS_SHARED_DBUSTRINGS_HRC
#include "dbustrings.hrc"
-#endif
-#ifndef _DBU_MISC_HRC_
#include "dbu_misc.hrc"
-#endif
-#ifndef _DBHELPER_DBCONVERSION_HXX_
#include <connectivity/dbconversion.hxx>
-#endif
-#ifndef _SFXHTML_HXX
#include <sfx2/sfxhtml.hxx>
-#endif
-#ifndef _NUMUNO_HXX
#include <svtools/numuno.hxx>
-#endif
-#ifndef _CONNECTIVITY_DBTOOLS_HXX_
#include <connectivity/dbtools.hxx>
-#endif
-#ifndef _COMPHELPER_EXTRACT_HXX_
#include <comphelper/extract.hxx>
-#endif
-#ifndef DBAUI_TYPEINFO_HXX
#include "TypeInfo.hxx"
-#endif
-#ifndef DBAUI_FIELDDESCRIPTIONS_HXX
#include "FieldDescriptions.hxx"
-#endif
-#ifndef DBAUI_TOOLS_HXX
#include "UITools.hxx"
-#endif
-#ifndef _UTL_CONFIGMGR_HXX_
#include <unotools/configmgr.hxx>
-#endif
#include <memory>
-#ifndef _TOOLS_DEBUG_HXX
#include <tools/debug.hxx>
-#endif
-#ifndef TOOLS_DIAGNOSE_EX_H
#include <tools/diagnose_ex.h>
-#endif
-#ifndef INCLUDED_I18NPOOL_MSLANGID_HXX
#include <i18npool/mslangid.hxx>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTDESCRIPTOR_HPP_
#include <com/sun/star/awt/FontDescriptor.hpp>
-#endif
-#ifndef DBAUI_WIZ_COPYTABLEDIALOG_HXX
#include "WCopyTable.hxx"
-#endif
-#ifndef DBAUI_WIZ_EXTENDPAGES_HXX
#include "WExtendPages.hxx"
-#endif
-#ifndef DBAUI_WIZARD_CPAGE_HXX
#include "WCPage.hxx"
-#endif
-#ifndef INCLUDED_SVTOOLS_SYSLOCALE_HXX
#include <svtools/syslocale.hxx>
-#endif
-#ifndef _DBHELPER_DBEXCEPTION_HXX_
#include <connectivity/dbexception.hxx>
-#endif
-#ifndef _CONNECTIVITY_FILE_VALUE_HXX_
#include <connectivity/FValue.hxx>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_SQLWARNING_HPP_
#include <com/sun/star/sdbc/SQLWarning.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDB_SQLCONTEXT_HPP_
#include <com/sun/star/sdb/SQLContext.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDB_APPLICATION_COPYTABLEOPERATION_HPP_
#include <com/sun/star/sdb/application/CopyTableOperation.hpp>
-#endif
-#ifndef _DBAUI_SQLMESSAGE_HXX_
#include "sqlmessage.hxx"
-#endif
-#ifndef DBAUI_UPDATEHELPERIMPL_HXX
#include "UpdateHelperImpl.hxx"
-#endif
-#ifndef _SV_MSGBOX_HXX
#include <vcl/msgbox.hxx>
-#endif
-#ifndef _CPPUHELPER_EXC_HLP_HXX_
#include <cppuhelper/exc_hlp.hxx>
-#endif
-
+#include <rtl/logfile.hxx>
using namespace dbaui;
using namespace utl;
@@ -205,6 +125,7 @@ ODatabaseExport::ODatabaseExport(sal_Int32 nRows,
,m_bCheckOnly(sal_False)
,m_bAppendFirstLine(false)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::ODatabaseExport" );
DBG_CTOR(ODatabaseExport,NULL);
m_nRows += nRows;
@@ -261,6 +182,7 @@ ODatabaseExport::ODatabaseExport(const SharedConnection& _rxConnection,
,m_bCheckOnly(sal_False)
,m_bAppendFirstLine(false)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::ODatabaseExport" );
DBG_CTOR(ODatabaseExport,NULL);
try
{
@@ -281,8 +203,9 @@ ODatabaseExport::ODatabaseExport(const SharedConnection& _rxConnection,
{
::connectivity::ORowSetValue aValue;
::std::vector<sal_Int32> aTypes;
- Reference<XResultSetMetaData> xResultSetMetaData = Reference<XResultSetMetaDataSupplier>(xSet,UNO_QUERY)->getMetaData();
- Reference<XRow> xRow(xSet,UNO_QUERY);
+ ::std::vector<sal_Bool> aNullable;
+ Reference<XResultSetMetaData> xResultSetMetaData = Reference<XResultSetMetaDataSupplier>(xSet,UNO_QUERY_THROW)->getMetaData();
+ Reference<XRow> xRow(xSet,UNO_QUERY_THROW);
while(xSet->next())
{
if ( aTypes.empty() )
@@ -291,18 +214,23 @@ ODatabaseExport::ODatabaseExport(const SharedConnection& _rxConnection,
if ( nCount < 1 )
nCount = 18;
aTypes.reserve(nCount+1);
+ aNullable.reserve(nCount+1);
aTypes.push_back(-1);
+ aNullable.push_back(sal_False);
for (sal_Int32 j = 1; j <= nCount ; ++j)
+ {
+ aNullable.push_back(xResultSetMetaData->isNullable(j) != ColumnValue::NO_NULLS );
aTypes.push_back(xResultSetMetaData->getColumnType(j));
+ }
}
sal_Int32 nPos = 1;
OSL_ENSURE((nPos) < static_cast<sal_Int32>(aTypes.size()),"aTypes: Illegal index for vector");
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
::rtl::OUString sTypeName = aValue;
++nPos;
OSL_ENSURE((nPos) < static_cast<sal_Int32>(aTypes.size()),"aTypes: Illegal index for vector");
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
sal_Int32 nType = aValue;
++nPos;
@@ -314,43 +242,43 @@ ODatabaseExport::ODatabaseExport(const SharedConnection& _rxConnection,
m_pTypeInfo->nType = nType;
OSL_ENSURE((nPos) < static_cast<sal_Int32>(aTypes.size()),"aTypes: Illegal index for vector");
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->nPrecision = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->aLiteralPrefix = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->aLiteralSuffix = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->aCreateParams = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->bNullable = (sal_Int32)aValue == ColumnValue::NULLABLE;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->bCaseSensitive = (sal_Bool)aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->nSearchType = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->bUnsigned = (sal_Bool)aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->bCurrency = (sal_Bool)aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->bAutoIncrement = (sal_Bool)aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->aLocalTypeName = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->nMinimumScale = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
m_pTypeInfo->nMaximumScale = aValue;
// check if values are less than zero like it happens in a oracle jdbc driver
@@ -382,6 +310,7 @@ ODatabaseExport::~ODatabaseExport()
// -----------------------------------------------------------------------------
void ODatabaseExport::insertValueIntoColumn()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::insertValueIntoColumn" );
DBG_CHKTHIS(ODatabaseExport,NULL);
if(m_nColumnPos < sal_Int32(m_vDestVector.size()))
{
@@ -399,7 +328,7 @@ void ODatabaseExport::insertValueIntoColumn()
// if(m_nDefToken != LANGUAGE_DONTKNOW) // falls Sprache anders als Systemsprache
// m_pNF->ChangeIntl((LanguageType)m_nDefToken);
- if(!m_sTextToken.Len() && m_xResultSetMetaData->isNullable(nPos))
+ if ( !m_sTextToken.Len() && pField->IsNullable() )
m_pUpdateHelper->updateNull(nPos,pField->GetType());
else
{
@@ -408,11 +337,7 @@ void ODatabaseExport::insertValueIntoColumn()
OSL_ENSURE((nNewPos) < static_cast<sal_Int32>(m_vColumnTypes.size()),"Illegal index for vector");
if (m_vColumnTypes[nNewPos] != DataType::VARCHAR && m_vColumnTypes[nNewPos] != DataType::CHAR && m_vColumnTypes[nNewPos] != DataType::LONGVARCHAR )
{
- Reference< XNumberFormatsSupplier > xSupplier = m_xFormatter->getNumberFormatsSupplier();
- Reference<XPropertySet> xNumberFormatSettings = xSupplier->getNumberFormatSettings();
- com::sun::star::util::Date aNullDate;
- xNumberFormatSettings->getPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NullDate"))) >>= aNullDate;
-
+ RTL_LOGFILE_CONTEXT_TRACE( aLogger, "ODatabaseExport::insertValueIntoColumn != DataType::VARCHAR" );
ensureFormatter();
bool bNumberFormatError = false;
if ( m_pFormatter && m_sNumToken.Len() )
@@ -424,6 +349,7 @@ void ODatabaseExport::insertValueIntoColumn()
}
else
{
+ Reference< XNumberFormatsSupplier > xSupplier = m_xFormatter->getNumberFormatsSupplier();
Reference<XNumberFormatTypes> xNumType(xSupplier->getNumberFormats(),UNO_QUERY);
sal_Int16 nFormats[] = { NumberFormat::DATETIME
,NumberFormat::DATETIME
@@ -457,6 +383,7 @@ void ODatabaseExport::insertValueIntoColumn()
{
try
{
+ Reference< XNumberFormatsSupplier > xSupplier = m_xFormatter->getNumberFormatsSupplier();
Reference< XNumberFormats > xFormats = xSupplier->getNumberFormats();
Reference<XPropertySet> xProp = xFormats->getByKey(nNumberFormat);
sal_Int16 nType = 0;
@@ -465,7 +392,7 @@ void ODatabaseExport::insertValueIntoColumn()
{
case NumberFormat::DATE:
case NumberFormat::DATETIME:
- fOutNumber = ::dbtools::DBTypeConversion::toStandardDbDate(aNullDate,fOutNumber);
+ fOutNumber = ::dbtools::DBTypeConversion::toStandardDbDate(m_aNullDate,fOutNumber);
break;
default:
;
@@ -491,6 +418,7 @@ void ODatabaseExport::insertValueIntoColumn()
// -----------------------------------------------------------------------------
sal_Int16 ODatabaseExport::CheckString(const String& aCheckToken, sal_Int16 _nOldNumberFormat)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::CheckString" );
DBG_CHKTHIS(ODatabaseExport,NULL);
double fOutNumber = 0.0;
sal_Int16 nNumberFormat = 0;
@@ -627,6 +555,7 @@ sal_Int16 ODatabaseExport::CheckString(const String& aCheckToken, sal_Int16 _nOl
// -----------------------------------------------------------------------------
void ODatabaseExport::SetColumnTypes(const TColumnVector* _pList,const OTypeInfoMap* _pInfoMap)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::SetColumnTypes" );
DBG_CHKTHIS(ODatabaseExport,NULL);
if(_pList && _pInfoMap)
{
@@ -700,6 +629,7 @@ void ODatabaseExport::SetColumnTypes(const TColumnVector* _pList,const OTypeInfo
// -----------------------------------------------------------------------------
void ODatabaseExport::CreateDefaultColumn(const ::rtl::OUString& _rColumnName)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::CreateDefaultColumn" );
DBG_CHKTHIS(ODatabaseExport,NULL);
Reference< XDatabaseMetaData> xDestMetaData(m_xConnection->getMetaData());
sal_Int32 nMaxNameLen(xDestMetaData->getMaxColumnNameLength());
@@ -752,41 +682,44 @@ void ODatabaseExport::CreateDefaultColumn(const ::rtl::OUString& _rColumnName)
// -----------------------------------------------------------------------------
sal_Bool ODatabaseExport::createRowSet()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::createRowSet" );
DBG_CHKTHIS(ODatabaseExport,NULL);
- Reference<XResultSet> xDestSet(m_xFactory->createInstance(::rtl::OUString::createFromAscii("com.sun.star.sdb.RowSet")),UNO_QUERY);
- Reference<XPropertySet > xProp(xDestSet,UNO_QUERY);
- if(xProp.is())
- {
- ::rtl::OUString sDestName = ::dbtools::composeTableName(
- m_xConnection->getMetaData(), m_xTable, ::dbtools::eInDataManipulation, false, false, false );
-
- xProp->setPropertyValue(PROPERTY_ACTIVE_CONNECTION,makeAny(m_xConnection.getTyped()));
- xProp->setPropertyValue(PROPERTY_COMMAND_TYPE,makeAny(CommandType::TABLE));
- xProp->setPropertyValue(PROPERTY_COMMAND,makeAny(sDestName));
- xProp->setPropertyValue(PROPERTY_IGNORERESULT,::cppu::bool2any(sal_True));
- Reference<XRowSet> xRowSet(xProp,UNO_QUERY);
- xRowSet->execute();
-
- Reference< XResultSetMetaDataSupplier> xSrcMetaSup(xRowSet,UNO_QUERY_THROW);
- m_xResultSetMetaData = xSrcMetaSup->getMetaData();
-
- if ( ::dbtools::canInsert(xProp) )
- {
- m_pUpdateHelper.reset(new ORowUpdateHelper(xRowSet));
- OSL_ENSURE(m_xResultSetMetaData.is(),"No ResultSetMetaData!");
- TPositions::iterator aIter = m_vColumns.begin();
- for (;aIter != m_vColumns.end() ; ++aIter)
- aIter->first = aIter->second;
- }
- else
+ //Reference<XResultSet> xDestSet(m_xFactory->createInstance(::rtl::OUString::createFromAscii("com.sun.star.sdb.RowSet")),UNO_QUERY);
+ //Reference<XPropertySet > xProp(xDestSet,UNO_QUERY);
+ //if(xProp.is())
+ //{
+ // ::rtl::OUString sDestName = ::dbtools::composeTableName(
+ // m_xConnection->getMetaData(), m_xTable, ::dbtools::eInDataManipulation, false, false, false );
+
+ // xProp->setPropertyValue(PROPERTY_ACTIVE_CONNECTION,makeAny(m_xConnection.getTyped()));
+ // xProp->setPropertyValue(PROPERTY_COMMAND_TYPE,makeAny(CommandType::TABLE));
+ // xProp->setPropertyValue(PROPERTY_COMMAND,makeAny(sDestName));
+ // xProp->setPropertyValue(PROPERTY_IGNORERESULT,::cppu::bool2any(sal_True));
+ // xProp->setPropertyValue(PROPERTY_FETCHSIZE,sal_Int32(1));
+ // Reference<XRowSet> xRowSet(xProp,UNO_QUERY);
+ // xRowSet->execute();
+
+ // Reference< XResultSetMetaDataSupplier> xSrcMetaSup(xRowSet,UNO_QUERY_THROW);
+ // m_xResultSetMetaData = xSrcMetaSup->getMetaData();
+
+ // if ( ::dbtools::canInsert(xProp) )
+ // {
+ // m_pUpdateHelper.reset(new ORowUpdateHelper(xRowSet));
+ // OSL_ENSURE(m_xResultSetMetaData.is(),"No ResultSetMetaData!");
+ // TPositions::iterator aIter = m_vColumns.begin();
+ // for (;aIter != m_vColumns.end() ; ++aIter)
+ // aIter->first = aIter->second;
+ // }
+ // else
m_pUpdateHelper.reset(new OParameterUpdateHelper(createPreparedStatment(m_xConnection->getMetaData(),m_xTable,m_vColumns)));
- }
+ //}
return m_pUpdateHelper.get() != NULL;
}
// -----------------------------------------------------------------------------
sal_Bool ODatabaseExport::executeWizard(const ::rtl::OUString& _rTableName,const Any& _aTextColor,const FontDescriptor& _rFont)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::executeWizard" );
DBG_CHKTHIS(ODatabaseExport,NULL);
bool bHaveDefaultTable = ( m_sDefaultTableName.getLength() != 0 );
@@ -852,6 +785,7 @@ sal_Bool ODatabaseExport::executeWizard(const ::rtl::OUString& _rTableName,const
//---------------------------------------------------------------------------------
void ODatabaseExport::showErrorDialog(const ::com::sun::star::sdbc::SQLException& e)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::showErrorDialog" );
if(!m_bDontAskAgain)
{
String aMsg(e.Message);
@@ -868,6 +802,7 @@ void ODatabaseExport::showErrorDialog(const ::com::sun::star::sdbc::SQLException
// -----------------------------------------------------------------------------
void ODatabaseExport::adjustFormat()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::adjustFormat" );
if ( m_sTextToken.Len() )
{
sal_Int32 nNewPos = m_bIsAutoIncrement ? m_nColumnPos+1 : m_nColumnPos;
@@ -890,6 +825,7 @@ void ODatabaseExport::adjustFormat()
// -----------------------------------------------------------------------------
void ODatabaseExport::eraseTokens()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::eraseTokens" );
m_sTextToken.Erase();
m_sNumToken.Erase();
m_sValToken.Erase();
@@ -897,12 +833,15 @@ void ODatabaseExport::eraseTokens()
// -----------------------------------------------------------------------------
void ODatabaseExport::ensureFormatter()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::ensureFormatter" );
if ( !m_pFormatter )
{
Reference< XNumberFormatsSupplier > xSupplier = m_xFormatter->getNumberFormatsSupplier();
Reference< XUnoTunnel > xTunnel(xSupplier,UNO_QUERY);
SvNumberFormatsSupplierObj* pSupplierImpl = (SvNumberFormatsSupplierObj*)sal::static_int_cast< sal_IntPtr >(xTunnel->getSomething(SvNumberFormatsSupplierObj::getUnoTunnelId()));
m_pFormatter = pSupplierImpl ? pSupplierImpl->GetNumberFormatter() : NULL;
+ Reference<XPropertySet> xNumberFormatSettings = xSupplier->getNumberFormatSettings();
+ xNumberFormatSettings->getPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NullDate"))) >>= m_aNullDate;
}
}
// -----------------------------------------------------------------------------
@@ -910,6 +849,7 @@ Reference< XPreparedStatement > ODatabaseExport::createPreparedStatment( const R
,const Reference<XPropertySet>& _xDestTable
,const TPositions& _rvColumns)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseExport::createPreparedStatment" );
::rtl::OUString aSql(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("INSERT INTO ")));
::rtl::OUString sComposedTableName = ::dbtools::composeTableName( _xMetaData, _xDestTable, ::dbtools::eInDataManipulation, false, false, true );
diff --git a/dbaccess/source/ui/misc/HtmlReader.cxx b/dbaccess/source/ui/misc/HtmlReader.cxx
index 5d86ec271179..5da5c7bf7d36 100644
--- a/dbaccess/source/ui/misc/HtmlReader.cxx
+++ b/dbaccess/source/ui/misc/HtmlReader.cxx
@@ -30,117 +30,44 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_dbaccess.hxx"
-#ifndef DBAUI_HTMLREADER_HXX
#include "HtmlReader.hxx"
-#endif
-#ifndef _DBHELPER_DBCONVERSION_HXX_
#include <connectivity/dbconversion.hxx>
-#endif
-#ifndef _CONNECTIVITY_DBTOOLS_HXX_
#include <connectivity/dbtools.hxx>
-#endif
-#ifndef _TOOLS_TENCCVT_HXX
#include <tools/tenccvt.hxx>
-#endif
-#ifndef _COMPHELPER_EXTRACT_HXX_
#include <comphelper/extract.hxx>
-#endif
-#ifndef _DBU_MISC_HRC_
#include "dbu_misc.hrc"
-#endif
-#ifndef DBACCESS_SHARED_DBUSTRINGS_HRC
#include "dbustrings.hrc"
-#endif
-#ifndef _SFXHTML_HXX
#include <sfx2/sfxhtml.hxx>
-#endif
-#ifndef _TOOLS_DEBUG_HXX
#include <tools/debug.hxx>
-#endif
-#ifndef _TOOLS_TENCCVT_HXX
#include <tools/tenccvt.hxx>
-#endif
-#ifndef _DBAUI_MODULE_DBU_HXX_
#include "moduledbu.hxx"
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_XDATADESCRIPTORFACTORY_HPP_
#include <com/sun/star/sdbcx/XDataDescriptorFactory.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_XCOLUMNSSUPPLIER_HPP_
#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_XAPPEND_HPP_
#include <com/sun/star/sdbcx/XAppend.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_DATATYPE_HPP_
#include <com/sun/star/sdbc/DataType.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_COLUMNVALUE_HPP_
#include <com/sun/star/sdbc/ColumnValue.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTDESCRIPTOR_HPP_
#include <com/sun/star/awt/FontDescriptor.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTWEIGHT_HPP_
#include <com/sun/star/awt/FontWeight.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTSTRIKEOUT_HPP_
#include <com/sun/star/awt/FontStrikeout.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTSLANT_HPP_
#include <com/sun/star/awt/FontSlant.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTUNDERLINE_HPP_
#include <com/sun/star/awt/FontUnderline.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_NUMBERFORMAT_HPP_
#include <com/sun/star/util/NumberFormat.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATTYPES_HPP_
#include <com/sun/star/util/XNumberFormatTypes.hpp>
-#endif
-#ifndef _HTMLTOKN_H
#include <svtools/htmltokn.h>
-#endif
-#ifndef _HTMLKYWD_HXX
#include <svtools/htmlkywd.hxx>
-#endif
-#ifndef _TOOLS_COLOR_HXX
#include <tools/color.hxx>
-#endif
-#ifndef DBAUI_WIZ_COPYTABLEDIALOG_HXX
#include "WCopyTable.hxx"
-#endif
-#ifndef DBAUI_WIZ_EXTENDPAGES_HXX
#include "WExtendPages.hxx"
-#endif
-#ifndef DBAUI_WIZ_NAMEMATCHING_HXX
#include "WNameMatch.hxx"
-#endif
-#ifndef DBAUI_WIZ_COLUMNSELECT_HXX
#include "WColumnSelect.hxx"
-#endif
-#ifndef DBAUI_ENUMTYPES_HXX
#include "QEnumTypes.hxx"
-#endif
-#ifndef DBAUI_WIZARD_CPAGE_HXX
#include "WCPage.hxx"
-#endif
-#ifndef TOOLS_INETMIME_HXX
#include <tools/inetmime.hxx>
-#endif
-#ifndef _INETTYPE_HXX
#include <svtools/inettype.hxx>
-#endif
-#ifndef _RTL_TENCINFO_H
#include <rtl/tencinfo.h>
-#endif
-#ifndef DBAUI_TOOLS_HXX
#include "UITools.hxx"
-#endif
-#ifndef _SV_SVAPP_HXX
#include <vcl/svapp.hxx>
-#endif
+#include <rtl/logfile.hxx>
using namespace dbaui;
using namespace ::com::sun::star::uno;
@@ -182,6 +109,7 @@ OHTMLReader::OHTMLReader(SvStream& rIn,const SharedConnection& _rxConnection,
,m_bMetaOptions(sal_False)
,m_bSDNum(sal_False)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::OHTMLReader" );
DBG_CTOR(OHTMLReader,NULL);
SetSrcEncoding( GetExtendedCompatibilityTextEncoding( RTL_TEXTENCODING_ISO_8859_1 ) );
// If the file starts with a BOM, switch to UCS2.
@@ -203,6 +131,7 @@ OHTMLReader::OHTMLReader(SvStream& rIn,
,m_bMetaOptions(sal_False)
,m_bSDNum(sal_False)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::OHTMLReader" );
DBG_CTOR(OHTMLReader,NULL);
SetSrcEncoding( GetExtendedCompatibilityTextEncoding( RTL_TEXTENCODING_ISO_8859_1 ) );
// If the file starts with a BOM, switch to UCS2.
@@ -216,6 +145,7 @@ OHTMLReader::~OHTMLReader()
// ---------------------------------------------------------------------------
SvParserState OHTMLReader::CallParser()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::CallParser" );
DBG_CHKTHIS(OHTMLReader,NULL);
rInput.Seek(STREAM_SEEK_TO_BEGIN);
rInput.ResetError();
@@ -226,6 +156,7 @@ SvParserState OHTMLReader::CallParser()
// -----------------------------------------------------------------------------
void OHTMLReader::NextToken( int nToken )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::NextToken" );
DBG_CHKTHIS(OHTMLReader,NULL);
if(m_bError || !m_nRows) // falls Fehler oder keine Rows mehr zur "Uberpr"ufung dann gleich zur"uck
return;
@@ -396,6 +327,7 @@ void OHTMLReader::NextToken( int nToken )
// -----------------------------------------------------------------------------
void OHTMLReader::fetchOptions()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::fetchOptions" );
m_bInTbl = TRUE;
const HTMLOptions* options = GetOptions();
sal_Int16 nArrLen = options->Count();
@@ -420,6 +352,7 @@ void OHTMLReader::fetchOptions()
//---------------------------------------------------------------------------------
void OHTMLReader::TableDataOn(SvxCellHorJustify& eVal,int nToken)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::TableDataOn" );
DBG_CHKTHIS(OHTMLReader,NULL);
sal_Bool bHorJustifyCenterTH = (nToken == HTML_TABLEHEADER_ON);
const HTMLOptions* pHtmlOptions = GetOptions();
@@ -453,6 +386,7 @@ void OHTMLReader::TableDataOn(SvxCellHorJustify& eVal,int nToken)
//---------------------------------------------------------------------------------
void OHTMLReader::TableFontOn(FontDescriptor& _rFont,sal_Int32 &_rTextColor)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::TableFontOn" );
DBG_CHKTHIS(OHTMLReader,NULL);
const HTMLOptions* pHtmlOptions = GetOptions();
sal_Int16 nArrLen = pHtmlOptions->Count();
@@ -502,6 +436,7 @@ void OHTMLReader::TableFontOn(FontDescriptor& _rFont,sal_Int32 &_rTextColor)
// ---------------------------------------------------------------------------
sal_Int16 OHTMLReader::GetWidthPixel( const HTMLOption* pOption )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::GetWidthPixel" );
DBG_CHKTHIS(OHTMLReader,NULL);
const String& rOptVal = pOption->GetString();
if ( rOptVal.Search('%') != STRING_NOTFOUND )
@@ -523,6 +458,7 @@ sal_Int16 OHTMLReader::GetWidthPixel( const HTMLOption* pOption )
// ---------------------------------------------------------------------------
sal_Bool OHTMLReader::CreateTable(int nToken)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::CreateTable" );
DBG_CHKTHIS(OHTMLReader,NULL);
String aTempName(ModuleRes(STR_TBL_TITLE));
aTempName = aTempName.GetToken(0,' ');
@@ -637,6 +573,7 @@ sal_Bool OHTMLReader::CreateTable(int nToken)
// -----------------------------------------------------------------------------
void OHTMLReader::setTextEncoding()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::setTextEncoding" );
DBG_CHKTHIS(OHTMLReader,NULL);
m_bMetaOptions = sal_True;
USHORT nContentOption = HTML_O_CONTENT;
@@ -657,12 +594,14 @@ void OHTMLReader::setTextEncoding()
// -----------------------------------------------------------------------------
void OHTMLReader::release()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::release" );
DBG_CHKTHIS(OHTMLReader,NULL);
ReleaseRef();
}
// -----------------------------------------------------------------------------
TypeSelectionPageFactory OHTMLReader::getTypeSelectionPageFactory()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLReader::getTypeSelectionPageFactory" );
DBG_CHKTHIS(OHTMLReader,NULL);
return &OWizHTMLExtend::Create;
}
diff --git a/dbaccess/source/ui/misc/RowSetDrop.cxx b/dbaccess/source/ui/misc/RowSetDrop.cxx
index 3098e4b88eb6..54b7c4cf36a6 100644
--- a/dbaccess/source/ui/misc/RowSetDrop.cxx
+++ b/dbaccess/source/ui/misc/RowSetDrop.cxx
@@ -31,31 +31,16 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_dbaccess.hxx"
-#ifndef DBAUI_TOKENWRITER_HXX
#include "TokenWriter.hxx"
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XCOLUMNLOCATE_HPP_
#include <com/sun/star/sdbc/XColumnLocate.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XRESULTSETMETADATASUPPLIER_HPP_
#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
-#endif
-#ifndef _DBU_MISC_HRC_
#include "dbu_misc.hrc"
-#endif
-#ifndef _DBAUI_SQLMESSAGE_HXX_
#include "sqlmessage.hxx"
-#endif
-#ifndef _SV_MSGBOX_HXX
#include <vcl/msgbox.hxx>
-#endif
-#ifndef DBACCESS_SHARED_DBUSTRINGS_HRC
#include "dbustrings.hrc"
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XROWUPDATE_HPP_
#include <com/sun/star/sdbc/XRowUpdate.hpp>
-#endif
#include <functional>
+#include <rtl/logfile.hxx>
using namespace dbaui;
using namespace ::com::sun::star::uno;
@@ -80,11 +65,13 @@ ORowSetImportExport::ORowSetImportExport( Window* _pParent,
,m_pParent(_pParent)
,m_bAlreadyAsked(sal_False)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORowSetImportExport::ORowSetImportExport" );
OSL_ENSURE(_pParent,"Window can't be null!");
}
// -----------------------------------------------------------------------------
void ORowSetImportExport::initialize()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORowSetImportExport::initialize" );
ODatabaseImportExport::initialize();
// do namemapping
Reference<XColumnLocate> xColumnLocate(m_xResultSet,UNO_QUERY);
@@ -124,11 +111,13 @@ void ORowSetImportExport::initialize()
// -----------------------------------------------------------------------------
BOOL ORowSetImportExport::Write()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORowSetImportExport::Write" );
return TRUE;
}
// -----------------------------------------------------------------------------
BOOL ORowSetImportExport::Read()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORowSetImportExport::Read" );
// check if there is any column to copy
if(::std::find_if(m_aColumnMapping.begin(),m_aColumnMapping.end(),
::std::bind2nd(::std::greater<sal_Int32>(),0)) == m_aColumnMapping.end())
@@ -183,6 +172,7 @@ BOOL ORowSetImportExport::Read()
// -----------------------------------------------------------------------------
sal_Bool ORowSetImportExport::insertNewRow()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORowSetImportExport::insertNewRow" );
try
{
m_xTargetResultSetUpdate->moveToInsertRow();
diff --git a/dbaccess/source/ui/misc/RtfReader.cxx b/dbaccess/source/ui/misc/RtfReader.cxx
index 8f77e5d9a51d..34540ad11684 100644
--- a/dbaccess/source/ui/misc/RtfReader.cxx
+++ b/dbaccess/source/ui/misc/RtfReader.cxx
@@ -30,90 +30,34 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_dbaccess.hxx"
-#ifndef DBAUI_RTFREADER_HXX
#include "RtfReader.hxx"
-#endif
-#ifndef _TOOLS_DEBUG_HXX
#include <tools/debug.hxx>
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_XDATADESCRIPTORFACTORY_HPP_
#include <com/sun/star/sdbcx/XDataDescriptorFactory.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_XCOLUMNSSUPPLIER_HPP_
#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_XAPPEND_HPP_
#include <com/sun/star/sdbcx/XAppend.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_DATATYPE_HPP_
#include <com/sun/star/sdbc/DataType.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_COLUMNVALUE_HPP_
#include <com/sun/star/sdbc/ColumnValue.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTDESCRIPTOR_HPP_
#include <com/sun/star/awt/FontDescriptor.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTWEIGHT_HPP_
#include <com/sun/star/awt/FontWeight.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTSTRIKEOUT_HPP_
#include <com/sun/star/awt/FontStrikeout.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTSLANT_HPP_
#include <com/sun/star/awt/FontSlant.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTUNDERLINE_HPP_
#include <com/sun/star/awt/FontUnderline.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_NUMBERFORMAT_HPP_
#include <com/sun/star/util/NumberFormat.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_XNUMBERFORMATTYPES_HPP_
#include <com/sun/star/util/XNumberFormatTypes.hpp>
-#endif
-#ifndef DBACCESS_SHARED_DBUSTRINGS_HRC
#include "dbustrings.hrc"
-#endif
-#ifndef _RTFTOKEN_H
#include <svtools/rtftoken.h>
-#endif
-#ifndef _DBU_MISC_HRC_
#include "dbu_misc.hrc"
-#endif
-#ifndef _SV_MSGBOX_HXX
#include <vcl/msgbox.hxx>
-#endif
-#ifndef _DBHELPER_DBCONVERSION_HXX_
#include <connectivity/dbconversion.hxx>
-#endif
-#ifndef _CONNECTIVITY_DBTOOLS_HXX_
#include <connectivity/dbtools.hxx>
-#endif
-#ifndef _COMPHELPER_EXTRACT_HXX_
#include <comphelper/extract.hxx>
-#endif
-#ifndef _TOOLS_COLOR_HXX
#include <tools/color.hxx>
-#endif
-#ifndef DBAUI_WIZ_EXTENDPAGES_HXX
#include "WExtendPages.hxx"
-#endif
-#ifndef _DBAUI_MODULE_DBU_HXX_
#include "moduledbu.hxx"
-#endif
-#ifndef DBAUI_ENUMTYPES_HXX
#include "QEnumTypes.hxx"
-#endif
-//#ifndef DBAUI_WIZARD_CPAGE_HXX
-//#include "WCPage.hxx"
-//#endif
-#ifndef DBAUI_TOOLS_HXX
#include "UITools.hxx"
-#endif
-#ifndef _SV_SVAPP_HXX
#include <vcl/svapp.hxx>
-#endif
+#include <rtl/logfile.hxx>
using namespace dbaui;
using namespace ::com::sun::star::uno;
@@ -136,6 +80,7 @@ ORTFReader::ORTFReader( SvStream& rIn,
:SvRTFParser(rIn)
,ODatabaseExport( _rxConnection, _rxNumberF, _rM, pList, _pInfoMap, rIn )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORTFReader::ORTFReader" );
DBG_CTOR(ORTFReader,NULL);
m_bAppendFirstLine = false;
}
@@ -151,6 +96,7 @@ ORTFReader::ORTFReader(SvStream& rIn,
:SvRTFParser(rIn)
,ODatabaseExport( nRows, _rColumnPositions, _rxNumberF, _rM, pList, _pInfoMap, _bAutoIncrementEnabled, rIn )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORTFReader::ORTFReader" );
DBG_CTOR(ORTFReader,NULL);
m_bAppendFirstLine = false;
}
@@ -162,6 +108,7 @@ ORTFReader::~ORTFReader()
// ---------------------------------------------------------------------------
SvParserState ORTFReader::CallParser()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORTFReader::CallParser" );
DBG_CHKTHIS(ORTFReader,NULL);
rInput.Seek(STREAM_SEEK_TO_BEGIN);
rInput.ResetError();
@@ -172,6 +119,7 @@ SvParserState ORTFReader::CallParser()
// ---------------------------------------------------------------------------
void ORTFReader::NextToken( int nToken )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORTFReader::NextToken" );
DBG_CHKTHIS(ORTFReader,NULL);
if(m_bError || !m_nRows) // falls Fehler oder keine Rows mehr zur "Uberpr"ufung dann gleich zur"uck
return;
@@ -326,6 +274,7 @@ void ORTFReader::NextToken( int nToken )
// ---------------------------------------------------------------------------
sal_Bool ORTFReader::CreateTable(int nToken)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORTFReader::CreateTable" );
DBG_CHKTHIS(ORTFReader,NULL);
String aTableName(ModuleRes(STR_TBL_TITLE));
aTableName = aTableName.GetToken(0,' ');
@@ -412,6 +361,7 @@ sal_Bool ORTFReader::CreateTable(int nToken)
// -----------------------------------------------------------------------------
void ORTFReader::release()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORTFReader::release" );
DBG_CHKTHIS(ORTFReader,NULL);
ReleaseRef();
}
@@ -419,6 +369,7 @@ void ORTFReader::release()
// -----------------------------------------------------------------------------
TypeSelectionPageFactory ORTFReader::getTypeSelectionPageFactory()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORTFReader::getTypeSelectionPageFactory" );
DBG_CHKTHIS(ORTFReader,NULL);
return &OWizRTFExtend::Create;
}
diff --git a/dbaccess/source/ui/misc/TableCopyHelper.cxx b/dbaccess/source/ui/misc/TableCopyHelper.cxx
index b2760e4d2e51..4b1258677037 100644
--- a/dbaccess/source/ui/misc/TableCopyHelper.cxx
+++ b/dbaccess/source/ui/misc/TableCopyHelper.cxx
@@ -140,6 +140,7 @@
#ifndef DBAUI_DBEXCHANGE_HXX
#include "dbexchange.hxx"
#endif
+#include <rtl/logfile.hxx>
//........................................................................
namespace dbaui
{
@@ -162,6 +163,7 @@ using namespace ::com::sun::star::ucb;
OTableCopyHelper::OTableCopyHelper(OGenericUnoController* _pControler)
:m_pController(_pControler)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OTableCopyHelper::OTableCopyHelper" );
}
// -----------------------------------------------------------------------------
@@ -174,6 +176,7 @@ void OTableCopyHelper::insertTable(sal_Int32 _nCommandType
,const ::rtl::OUString& _sDestDataSourceName
,const Reference<XConnection>& _xDestConnection)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OTableCopyHelper::insertTable" );
if ( CommandType::QUERY != _nCommandType && CommandType::TABLE != _nCommandType )
{
DBG_ERROR( "OTableCopyHelper::insertTable: invalid call (no supported format found)!" );
@@ -230,6 +233,7 @@ void OTableCopyHelper::insertTable(sal_Int32 _nCommandType
void OTableCopyHelper::pasteTable( const ::svx::ODataAccessDescriptor& _rPasteData, const ::rtl::OUString& _sDestDataSourceName,
const SharedConnection& _xDestConnection )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OTableCopyHelper::pasteTable" );
Reference<XConnection> xSrcConnection;
::rtl::OUString sCommand,
sSrcDataSourceName = _rPasteData.getDataSource();
@@ -285,6 +289,7 @@ void OTableCopyHelper::pasteTable( SotFormatStringId _nFormatId
,const ::rtl::OUString& _sDestDataSourceName
,const SharedConnection& _xConnection)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OTableCopyHelper::pasteTable" );
if ( _nFormatId == SOT_FORMATSTR_ID_DBACCESS_TABLE || _nFormatId == SOT_FORMATSTR_ID_DBACCESS_QUERY )
{
if ( ODataAccessObjectTransferable::canExtractObjectDescriptor(_rTransData.GetDataFlavorExVector()) )
@@ -327,6 +332,7 @@ void OTableCopyHelper::pasteTable( const TransferableDataHelper& _rTransData
,const ::rtl::OUString& _sDestDataSourceName
,const SharedConnection& _xConnection)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OTableCopyHelper::pasteTable" );
if ( _rTransData.HasFormat(SOT_FORMATSTR_ID_DBACCESS_TABLE) || _rTransData.HasFormat(SOT_FORMATSTR_ID_DBACCESS_QUERY) )
pasteTable( SOT_FORMATSTR_ID_DBACCESS_TABLE,_rTransData,_sDestDataSourceName,_xConnection);
else if ( _rTransData.HasFormat(SOT_FORMATSTR_ID_HTML) )
@@ -338,6 +344,7 @@ void OTableCopyHelper::pasteTable( const TransferableDataHelper& _rTransData
// -----------------------------------------------------------------------------
sal_Bool OTableCopyHelper::copyTagTable(OTableCopyHelper::DropDescriptor& _rDesc, sal_Bool _bCheck,const SharedConnection& _xConnection)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OTableCopyHelper::copyTagTable" );
Reference<XEventListener> xEvt;
ODatabaseImportExport* pImport = NULL;
if ( _rDesc.bHtml )
@@ -360,6 +367,7 @@ sal_Bool OTableCopyHelper::copyTagTable(OTableCopyHelper::DropDescriptor& _rDesc
// -----------------------------------------------------------------------------
sal_Bool OTableCopyHelper::isTableFormat(const TransferableDataHelper& _rClipboard) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OTableCopyHelper::isTableFormat" );
sal_Bool bTableFormat = _rClipboard.HasFormat(SOT_FORMATSTR_ID_DBACCESS_TABLE)
|| _rClipboard.HasFormat(SOT_FORMATSTR_ID_DBACCESS_QUERY)
|| _rClipboard.HasFormat(SOT_FORMAT_RTF)
@@ -372,6 +380,7 @@ sal_Bool OTableCopyHelper::copyTagTable(const TransferableDataHelper& _aDroppedD
,DropDescriptor& _rAsyncDrop
,const SharedConnection& _xConnection)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OTableCopyHelper::copyTagTable" );
sal_Bool bRet = sal_False;
sal_Bool bHtml = _aDroppedData.HasFormat(SOT_FORMATSTR_ID_HTML);
if ( bHtml || _aDroppedData.HasFormat(SOT_FORMAT_RTF) )
@@ -407,6 +416,7 @@ void OTableCopyHelper::asyncCopyTagTable( DropDescriptor& _rDesc
,const ::rtl::OUString& _sDestDataSourceName
,const SharedConnection& _xConnection)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OTableCopyHelper::asyncCopyTagTable" );
if ( _rDesc.aHtmlRtfStorage.Is() )
{
copyTagTable(_rDesc,sal_False,_xConnection);
diff --git a/dbaccess/source/ui/misc/TokenWriter.cxx b/dbaccess/source/ui/misc/TokenWriter.cxx
index 0910808a5f9d..09f9f45d6ffd 100644
--- a/dbaccess/source/ui/misc/TokenWriter.cxx
+++ b/dbaccess/source/ui/misc/TokenWriter.cxx
@@ -30,101 +30,42 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_dbaccess.hxx"
-#ifndef DBAUI_TOKENWRITER_HXX
#include "TokenWriter.hxx"
-#endif
-#ifndef _TOOLS_DEBUG_HXX
#include <tools/debug.hxx>
-#endif
-#ifndef TOOLS_DIAGNOSE_EX_H
#include <tools/diagnose_ex.h>
-#endif
-#ifndef DBAUI_RTFREADER_HXX
#include "RtfReader.hxx"
-#endif
-#ifndef DBAUI_HTMLREADER_HXX
#include "HtmlReader.hxx"
-#endif
-#ifndef DBACCESS_SHARED_DBUSTRINGS_HRC
#include "dbustrings.hrc"
-#endif
-#ifndef _CONNECTIVITY_DBTOOLS_HXX_
#include <connectivity/dbtools.hxx>
-#endif
-#ifndef _COMPHELPER_TYPES_HXX_
#include <comphelper/types.hxx>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XCONNECTION_HPP_
#include <com/sun/star/sdbc/XConnection.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_XCOLUMNSSUPPLIER_HPP_
#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XRESULTSETMETADATASUPPLIER_HPP_
#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XROWSET_HPP_
#include <com/sun/star/sdbc/XRowSet.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBCX_XTABLESSUPPLIER_HPP_
#include <com/sun/star/sdbcx/XTablesSupplier.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDB_XQUERIESSUPPLIER_HPP_
#include <com/sun/star/sdb/XQueriesSupplier.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XDATASOURCE_HPP_
#include <com/sun/star/sdbc/XDataSource.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTWEIGHT_HPP_
#include <com/sun/star/awt/FontWeight.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTSTRIKEOUT_HPP_
#include <com/sun/star/awt/FontStrikeout.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTSLANT_HPP_
#include <com/sun/star/awt/FontSlant.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTUNDERLINE_HPP_
#include <com/sun/star/awt/FontUnderline.hpp>
-#endif
#include <com/sun/star/document/XDocumentProperties.hpp>
-#ifndef _HTMLKYWD_HXX
#include <svtools/htmlkywd.hxx>
-#endif
-#ifndef _RTFKEYWD_HXX
#include <svtools/rtfkeywd.hxx>
-#endif
-#ifndef _TOOLS_COLOR_HXX
#include <tools/color.hxx>
-#endif
-#ifndef _HTMLOUT_HXX
#include <svtools/htmlout.hxx>
-#endif
-#ifndef _FRMHTMLW_HXX
#include <sfx2/frmhtmlw.hxx>
-#endif
-#ifndef _NUMUNO_HXX
#include <svtools/numuno.hxx>
-#endif
-#ifndef _SV_SVAPP_HXX
#include <vcl/svapp.hxx>
-#endif
-#ifndef DBAUI_TOOLS_HXX
#include "UITools.hxx"
-#endif
-#ifndef _TOOLKIT_HELPER_VCLUNOHELPER_HXX_
#include <toolkit/helper/vclunohelper.hxx>
-#endif
-#ifndef _SV_OUTDEV_HXX
#include <vcl/outdev.hxx>
-#endif
-#ifndef _RTFOUT_HXX
#include <svtools/rtfout.hxx>
-#endif
#include <svx/htmlcfg.hxx>
#include <connectivity/formattedcolumnvalue.hxx>
#include <svtools/syslocale.hxx>
#include <comphelper/componentcontext.hxx>
+#include <rtl/logfile.hxx>
using namespace dbaui;
using namespace dbtools;
@@ -170,6 +111,7 @@ ODatabaseImportExport::ODatabaseImportExport(const ::svx::ODataAccessDescriptor&
,m_bInInitialize(sal_False)
,m_bCheckOnly(sal_False)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseImportExport::ODatabaseImportExport" );
DBG_CTOR(ODatabaseImportExport,NULL);
m_eDestEnc = osl_getThreadTextEncoding();
@@ -200,6 +142,7 @@ ODatabaseImportExport::ODatabaseImportExport( const ::dbtools::SharedConnection&
,m_bInInitialize(sal_False)
,m_bCheckOnly(sal_False)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseImportExport::ODatabaseImportExport" );
DBG_CTOR(ODatabaseImportExport,NULL);
m_eDestEnc = osl_getThreadTextEncoding();
try
@@ -226,6 +169,7 @@ ODatabaseImportExport::~ODatabaseImportExport()
// -----------------------------------------------------------------------------
void ODatabaseImportExport::dispose()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseImportExport::disposing" );
DBG_CHKTHIS(ODatabaseImportExport,NULL);
// remove me as listener
Reference< XComponent > xComponent(m_xConnection, UNO_QUERY);
@@ -247,6 +191,7 @@ void ODatabaseImportExport::dispose()
// -----------------------------------------------------------------------------
void SAL_CALL ODatabaseImportExport::disposing( const EventObject& Source ) throw(::com::sun::star::uno::RuntimeException)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseImportExport::disposing" );
DBG_CHKTHIS(ODatabaseImportExport,NULL);
Reference<XConnection> xCon(Source.Source,UNO_QUERY);
if(m_xConnection.is() && m_xConnection == xCon)
@@ -261,12 +206,14 @@ void SAL_CALL ODatabaseImportExport::disposing( const EventObject& Source ) thro
// -----------------------------------------------------------------------------
void ODatabaseImportExport::initialize( const ODataAccessDescriptor& _aDataDescriptor )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseImportExport::initialize" );
impl_initFromDescriptor( _aDataDescriptor, true );
}
// -----------------------------------------------------------------------------
void ODatabaseImportExport::impl_initFromDescriptor( const ODataAccessDescriptor& _aDataDescriptor, bool _bPlusDefaultInit)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseImportExport::impl_initFromDescriptor" );
DBG_CHKTHIS(ODatabaseImportExport,NULL);
if ( !_bPlusDefaultInit )
{
@@ -312,6 +259,7 @@ void ODatabaseImportExport::impl_initFromDescriptor( const ODataAccessDescriptor
// -----------------------------------------------------------------------------
void ODatabaseImportExport::initialize()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseImportExport::initialize" );
DBG_CHKTHIS(ODatabaseImportExport,NULL);
m_bInInitialize = sal_True;
m_bNeedToReInitialize = false;
@@ -423,6 +371,7 @@ BOOL ODatabaseImportExport::Read()
// -----------------------------------------------------------------------------
void ODatabaseImportExport::impl_initializeRowMember_throw()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ODatabaseImportExport::impl_initializeRowMember_throw" );
if ( !m_xRow.is() && m_xResultSet.is() )
{
m_xRow.set(m_xResultSet,UNO_QUERY);
@@ -434,6 +383,7 @@ void ODatabaseImportExport::impl_initializeRowMember_throw()
//======================================================================
BOOL ORTFImportExport::Write()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORTFImportExport::Write" );
ODatabaseImportExport::Write();
(*m_pStream) << '{' << sRTF_RTF;
(*m_pStream) << sRTF_ANSI << ODatabaseImportExport::sNewLine;
@@ -691,6 +641,7 @@ BOOL ORTFImportExport::Write()
//-------------------------------------------------------------------
BOOL ORTFImportExport::Read()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "ORTFImportExport::Read" );
ODatabaseImportExport::Read();
SvParserState eState = SVPAR_ERROR;
if ( m_pStream )
@@ -745,6 +696,7 @@ OHTMLImportExport::OHTMLImportExport(const ::svx::ODataAccessDescriptor& _aDataD
,m_bCheckFont(FALSE)
#endif
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLImportExport::OHTMLImportExport" );
// set HTML configuration
SvxHtmlOptions* pHtmlOptions = SvxHtmlOptions::Get();
m_eDestEnc = pHtmlOptions->GetTextEncoding();
@@ -754,6 +706,7 @@ OHTMLImportExport::OHTMLImportExport(const ::svx::ODataAccessDescriptor& _aDataD
//-------------------------------------------------------------------
BOOL OHTMLImportExport::Write()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLImportExport::Write" );
ODatabaseImportExport::Write();
if(m_xObject.is())
{
@@ -772,6 +725,7 @@ BOOL OHTMLImportExport::Write()
//-------------------------------------------------------------------
BOOL OHTMLImportExport::Read()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLImportExport::Read" );
ODatabaseImportExport::Read();
SvParserState eState = SVPAR_ERROR;
if ( m_pStream )
@@ -793,6 +747,7 @@ BOOL OHTMLImportExport::Read()
//-------------------------------------------------------------------
void OHTMLImportExport::WriteHeader()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLImportExport::WriteHeader" );
uno::Reference<document::XDocumentProperties> xDocProps(
m_xFactory->createInstance(::rtl::OUString::createFromAscii(
"com.sun.star.document.DocumentProperties")),
@@ -811,6 +766,7 @@ void OHTMLImportExport::WriteHeader()
//-----------------------------------------------------------------------
void OHTMLImportExport::WriteBody()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLImportExport::WriteBody" );
IncIndent(1); TAG_ON_LF( sHTML_style );
@@ -849,6 +805,7 @@ void OHTMLImportExport::WriteBody()
//-----------------------------------------------------------------------
void OHTMLImportExport::WriteTables()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLImportExport::WriteTables" );
::rtl::OString aStrOut = sHTML_table;
aStrOut = aStrOut + " ";
aStrOut = aStrOut + sHTML_frame;
@@ -1023,6 +980,7 @@ void OHTMLImportExport::WriteTables()
void OHTMLImportExport::WriteCell( sal_Int32 nFormat,sal_Int32 nWidthPixel,sal_Int32 nHeightPixel,const char* pChar,
const String& rValue,const char* pHtmlTag)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLImportExport::WriteCell" );
::rtl::OString aStrTD = pHtmlTag;
nWidthPixel = nWidthPixel ? nWidthPixel : 86;
@@ -1098,6 +1056,7 @@ void OHTMLImportExport::WriteCell( sal_Int32 nFormat,sal_Int32 nWidthPixel,sal_I
//-----------------------------------------------------------------------
void OHTMLImportExport::FontOn()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLImportExport::FontOn" );
#ifdef DBG_UTIL
m_bCheckFont = TRUE;
#endif
@@ -1128,6 +1087,7 @@ void OHTMLImportExport::FontOn()
//-----------------------------------------------------------------------
inline void OHTMLImportExport::FontOff()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLImportExport::FontOff" );
DBG_ASSERT(m_bCheckFont,"Kein FontOn() gerufen");
TAG_OFF( sHTML_font );
#ifdef DBG_UTIL
@@ -1137,6 +1097,7 @@ inline void OHTMLImportExport::FontOff()
//-----------------------------------------------------------------------
void OHTMLImportExport::IncIndent( sal_Int16 nVal )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OHTMLImportExport::IncIndent" );
sIndent[m_nIndent] = '\t';
m_nIndent = m_nIndent + nVal;
if ( m_nIndent < 0 )
diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx
index c5bfe2470b49..e38da91c606c 100644
--- a/dbaccess/source/ui/misc/UITools.cxx
+++ b/dbaccess/source/ui/misc/UITools.cxx
@@ -97,6 +97,7 @@
#ifndef _COM_SUN_STAR_SDBC_XRESULTSETMETADATA_HPP_
#include <com/sun/star/sdbc/XResultSetMetaData.hpp>
#endif
+#include <com/sun/star/sdbc/ColumnValue.hpp>
#ifndef _COM_SUN_STAR_TASK_XINTERACTIONHANDLER_HPP_
#include <com/sun/star/task/XInteractionHandler.hpp>
#endif
@@ -686,6 +687,7 @@ void fillTypeInfo( const Reference< ::com::sun::star::sdbc::XConnection>& _rxCo
Reference<XResultSetMetaData> xResultSetMetaData = Reference<XResultSetMetaDataSupplier>(xRs,UNO_QUERY)->getMetaData();
::connectivity::ORowSetValue aValue;
::std::vector<sal_Int32> aTypes;
+ ::std::vector<sal_Bool> aNullable;
// Loop on the result set until we reach end of file
while (xRs->next())
{
@@ -699,55 +701,58 @@ void fillTypeInfo( const Reference< ::com::sun::star::sdbc::XConnection>& _rxCo
aTypes.reserve(nCount+1);
aTypes.push_back(-1);
for (sal_Int32 j = 1; j <= nCount ; ++j)
+ {
aTypes.push_back(xResultSetMetaData->getColumnType(j));
+ aNullable.push_back(xResultSetMetaData->isNullable(j) != ColumnValue::NO_NULLS);
+ }
}
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->aTypeName = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->nType = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->nPrecision = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->aLiteralPrefix = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->aLiteralSuffix = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->aCreateParams = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->bNullable = (sal_Int32)aValue == ColumnValue::NULLABLE;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->bCaseSensitive = (sal_Bool)aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->nSearchType = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->bUnsigned = (sal_Bool)aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->bCurrency = (sal_Bool)aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->bAutoIncrement = (sal_Bool)aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->aLocalTypeName = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->nMinimumScale = aValue;
++nPos;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
pInfo->nMaximumScale = aValue;
nPos = 18;
- aValue.fill(nPos,aTypes[nPos],xRow);
+ aValue.fill(nPos,aTypes[nPos],aNullable[nPos],xRow);
// check if values are less than zero like it happens in a oracle jdbc driver
if( pInfo->nPrecision < 0)
diff --git a/dbaccess/source/ui/misc/UpdateHelperImpl.hxx b/dbaccess/source/ui/misc/UpdateHelperImpl.hxx
index ed40973dafa8..a0a9e63fc183 100644
--- a/dbaccess/source/ui/misc/UpdateHelperImpl.hxx
+++ b/dbaccess/source/ui/misc/UpdateHelperImpl.hxx
@@ -30,24 +30,14 @@
#ifndef DBAUI_UPDATEHELPERIMPL_HXX
#define DBAUI_UPDATEHELPERIMPL_HXX
-#ifndef _COM_SUN_STAR_SDBC_XRESULTSETUPDATE_HPP_
#include <com/sun/star/sdbc/XResultSetUpdate.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XROWUPDATE_HPP_
#include <com/sun/star/sdbc/XRowUpdate.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XPARAMETERS_HPP_
#include <com/sun/star/sdbc/XParameters.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XPREPAREDSTATEMENT_HPP_
#include <com/sun/star/sdbc/XPreparedStatement.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XROWSET_HPP_
#include <com/sun/star/sdbc/XRowSet.hpp>
-#endif
-#ifndef DBAUI_IUPDATEHELPER_HXX
+#include <com/sun/star/sdbc/XResultSetMetaData.hpp>
#include "IUpdateHelper.hxx"
-#endif
+#include <rtl/logfile.hxx>
namespace dbaui
{
@@ -102,18 +92,22 @@ namespace dbaui
virtual ~OParameterUpdateHelper() {}
virtual void updateString(sal_Int32 _nPos, const ::rtl::OUString& _sValue)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OParameterUpdateHelper::updateString" );
m_xParameters->setString(_nPos, _sValue);
}
virtual void updateDouble(sal_Int32 _nPos,const double& _nValue)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OParameterUpdateHelper::updateDouble" );
m_xParameters->setDouble(_nPos, _nValue);
}
virtual void updateInt(sal_Int32 _nPos,const sal_Int32& _nValue)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OParameterUpdateHelper::updateInt" );
m_xParameters->setInt(_nPos, _nValue);
}
virtual void updateNull(sal_Int32 _nPos, ::sal_Int32 sqlType)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OParameterUpdateHelper::updateNull" );
m_xParameters->setNull(_nPos,sqlType);
}
virtual void moveToInsertRow()
@@ -121,6 +115,7 @@ namespace dbaui
}
virtual void insertRow()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OParameterUpdateHelper::insertRow" );
m_xPrepared->executeUpdate();
}
};
diff --git a/dbaccess/source/ui/misc/WCopyTable.cxx b/dbaccess/source/ui/misc/WCopyTable.cxx
index ca3408bd0285..0cd8ae2dbeb4 100644
--- a/dbaccess/source/ui/misc/WCopyTable.cxx
+++ b/dbaccess/source/ui/misc/WCopyTable.cxx
@@ -64,6 +64,7 @@
#include <comphelper/types.hxx>
#include <connectivity/dbtools.hxx>
+#include <rtl/logfile.hxx>
#include <rtl/ustrbuf.hxx>
#include <tools/debug.hxx>
#include <tools/diagnose_ex.h>
@@ -585,6 +586,7 @@ OCopyTableWizard::OCopyTableWizard( Window * pParent, const ::rtl::OUString& _rD
,m_ePressed( WIZARD_NONE )
,m_bCreatePrimaryKeyColumn(sal_False)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::OCopyTableWizard" );
DBG_CTOR(OCopyTableWizard,NULL);
construct();
@@ -668,6 +670,7 @@ OCopyTableWizard::OCopyTableWizard( Window* pParent, const ::rtl::OUString& _rDe
,m_ePressed( WIZARD_NONE )
,m_bCreatePrimaryKeyColumn(sal_False)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::OCopyTableWizard" );
DBG_CTOR(OCopyTableWizard,NULL);
construct();
ODatabaseExport::TColumnVector::const_iterator aIter = _rSourceColVec.begin();
@@ -695,6 +698,7 @@ OCopyTableWizard::OCopyTableWizard( Window* pParent, const ::rtl::OUString& _rDe
// -----------------------------------------------------------------------------
void OCopyTableWizard::construct()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::construct" );
AddButton( &m_pbHelp, WIZARDDIALOG_BUTTON_STDOFFSET_X );
AddButton( &m_pbCancel, WIZARDDIALOG_BUTTON_STDOFFSET_X );
AddButton( &m_pbPrev );
@@ -790,6 +794,7 @@ IMPL_LINK( OCopyTableWizard, ImplNextHdl, PushButton*, EMPTYARG )
// -----------------------------------------------------------------------
sal_Bool OCopyTableWizard::CheckColumns(sal_Int32& _rnBreakPos)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::CheckColumns" );
sal_Bool bRet = sal_True;
m_vColumnPos.clear();
m_vColumnTypes.clear();
@@ -959,12 +964,14 @@ IMPL_LINK( OCopyTableWizard, ImplOKHdl, OKButton*, EMPTYARG )
//------------------------------------------------------------------------
sal_Bool OCopyTableWizard::shouldCreatePrimaryKey() const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::shouldCreatePrimaryKey" );
return m_bCreatePrimaryKeyColumn;
}
// -----------------------------------------------------------------------
void OCopyTableWizard::setCreatePrimaryKey( bool _bDoCreate, const ::rtl::OUString& _rSuggestedName )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::setCreatePrimaryKey" );
m_bCreatePrimaryKeyColumn = _bDoCreate;
if ( _rSuggestedName.getLength() )
m_aKeyName = _rSuggestedName;
@@ -996,6 +1003,7 @@ IMPL_LINK( OCopyTableWizard, ImplActivateHdl, WizardDialog*, EMPTYARG )
// -----------------------------------------------------------------------
void OCopyTableWizard::CheckButtons()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::CheckButtons" );
if(GetCurLevel() == 0) // erste Seite hat kein PrevButton
{
if(m_nPageCount > 1)
@@ -1019,6 +1027,7 @@ void OCopyTableWizard::CheckButtons()
// -----------------------------------------------------------------------
void OCopyTableWizard::EnableButton(Wizard_Button_Style eStyle,sal_Bool bEnable)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::EnableButton" );
// CheckButtons();
Button* pButton;
if(eStyle == WIZARD_NEXT)
@@ -1033,18 +1042,21 @@ void OCopyTableWizard::EnableButton(Wizard_Button_Style eStyle,sal_Bool bEnable)
// -----------------------------------------------------------------------
long OCopyTableWizard::DeactivatePage()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::DeactivatePage" );
OWizardPage* pPage = (OWizardPage*)GetPage(GetCurLevel());
return pPage ? pPage->LeavePage() : sal_False;
}
// -----------------------------------------------------------------------
void OCopyTableWizard::AddWizardPage(OWizardPage* pPage)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::AddWizardPage" );
AddPage(pPage);
++m_nPageCount;
}
// -----------------------------------------------------------------------------
void OCopyTableWizard::insertColumn(sal_Int32 _nPos,OFieldDescription* _pField)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::insertColumn" );
OSL_ENSURE(_pField,"FieldDescrioption is null!");
if ( _pField )
{
@@ -1062,6 +1074,7 @@ void OCopyTableWizard::insertColumn(sal_Int32 _nPos,OFieldDescription* _pField)
// -----------------------------------------------------------------------------
void OCopyTableWizard::replaceColumn(sal_Int32 _nPos,OFieldDescription* _pField,const ::rtl::OUString& _sOldName)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::replaceColumn" );
OSL_ENSURE(_pField,"FieldDescrioption is null!");
if ( _pField )
{
@@ -1075,12 +1088,14 @@ void OCopyTableWizard::replaceColumn(sal_Int32 _nPos,OFieldDescription* _pField,
// -----------------------------------------------------------------------------
void OCopyTableWizard::impl_loadSourceData()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::impl_loadSourceData" );
loadData( m_rSourceObject, m_vSourceColumns, m_vSourceVec );
}
// -----------------------------------------------------------------------------
void OCopyTableWizard::loadData( const ICopyTableSourceObject& _rSourceObject, ODatabaseExport::TColumns& _rColumns, ODatabaseExport::TColumnVector& _rColVector )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::loadData" );
for ( ODatabaseExport::TColumns::iterator col = _rColumns.begin(); col != _rColumns.end(); ++col )
delete col->second;
@@ -1141,12 +1156,14 @@ void OCopyTableWizard::loadData( const ICopyTableSourceObject& _rSourceObject,
// -----------------------------------------------------------------------------
void OCopyTableWizard::clearDestColumns()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::clearDestColumns" );
clearColumns(m_vDestColumns,m_aDestVec);
}
// -----------------------------------------------------------------------------
void OCopyTableWizard::appendColumns( Reference<XColumnsSupplier>& _rxColSup, const ODatabaseExport::TColumnVector* _pVec, sal_Bool _bKeyColumns) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::appendColumns" );
// now append the columns
OSL_ENSURE(_rxColSup.is(),"No columns supplier");
if(!_rxColSup.is())
@@ -1196,6 +1213,7 @@ void OCopyTableWizard::appendColumns( Reference<XColumnsSupplier>& _rxColSup, co
// -----------------------------------------------------------------------------
void OCopyTableWizard::appendKey( Reference<XKeysSupplier>& _rxSup, const ODatabaseExport::TColumnVector* _pVec) const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::appendKey" );
if(!_rxSup.is())
return; // the database doesn't support keys
OSL_ENSURE(_rxSup.is(),"No XKeysSupplier!");
@@ -1223,6 +1241,7 @@ void OCopyTableWizard::appendKey( Reference<XKeysSupplier>& _rxSup, const ODatab
// -----------------------------------------------------------------------------
Reference< XPropertySet > OCopyTableWizard::createView() const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::createView" );
::rtl::OUString sCommand( m_rSourceObject.getSelectStatement() );
OSL_ENSURE( sCommand.getLength(), "OCopyTableWizard::createView: no statement in the source object!" );
// there are legitimate cases in which getSelectStatement does not provide a statement,
@@ -1232,6 +1251,7 @@ Reference< XPropertySet > OCopyTableWizard::createView() const
// -----------------------------------------------------------------------------
Reference< XPropertySet > OCopyTableWizard::createTable()
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::createTable" );
Reference< XPropertySet > xTable;
Reference<XTablesSupplier> xSup( m_xDestConnection, UNO_QUERY );
@@ -1356,6 +1376,7 @@ Reference< XPropertySet > OCopyTableWizard::createTable()
// -----------------------------------------------------------------------------
bool OCopyTableWizard::supportsPrimaryKey( const Reference< XConnection >& _rxConnection )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::supportsPrimaryKey" );
OSL_PRECOND( _rxConnection.is(), "OCopyTableWizard::supportsPrimaryKey: invalid connection!" );
bool bSupports( false );
@@ -1377,6 +1398,7 @@ bool OCopyTableWizard::supportsPrimaryKey( const Reference< XConnection >& _rxCo
// -----------------------------------------------------------------------------
bool OCopyTableWizard::supportsViews( const Reference< XConnection >& _rxConnection )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::supportsViews" );
OSL_PRECOND( _rxConnection.is(), "OCopyTableWizard::supportsViews: invalid connection!" );
if ( !_rxConnection.is() )
return false;
@@ -1419,6 +1441,7 @@ bool OCopyTableWizard::supportsViews( const Reference< XConnection >& _rxConnect
// -----------------------------------------------------------------------------
sal_Int32 OCopyTableWizard::getMaxColumnNameLength() const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::getMaxColumnNameLength" );
sal_Int32 nLen = 0;
if ( m_xDestConnection.is() )
{
@@ -1437,11 +1460,13 @@ sal_Int32 OCopyTableWizard::getMaxColumnNameLength() const
// -----------------------------------------------------------------------------
void OCopyTableWizard::setOperation( const sal_Int16 _nOperation )
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::setOperation" );
m_nOperation = _nOperation;
}
// -----------------------------------------------------------------------------
sal_Int16 OCopyTableWizard::getOperation() const
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::getOperation" );
return m_nOperation;
}
// -----------------------------------------------------------------------------
@@ -1450,6 +1475,7 @@ sal_Int16 OCopyTableWizard::getOperation() const
const ::rtl::OUString& _sExtraChars,
sal_Int32 _nMaxNameLen)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::convertColumnName" );
::rtl::OUString sAlias = _sColumnName;
if ( isSQL92CheckEnabled( m_xDestConnection ) )
sAlias = ::dbtools::convertName2SQLName(_sColumnName,_sExtraChars);
@@ -1484,12 +1510,14 @@ sal_Int16 OCopyTableWizard::getOperation() const
// -----------------------------------------------------------------------------
void OCopyTableWizard::removeColumnNameFromNameMap(const ::rtl::OUString& _sName)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::removeColumnNameFromNameMap" );
m_mNameMapping.erase(_sName);
}
// -----------------------------------------------------------------------------
sal_Bool OCopyTableWizard::supportsType(sal_Int32 _nDataType,sal_Int32& _rNewDataType)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::supportsType" );
sal_Bool bRet = m_aDestTypeInfo.find(_nDataType) != m_aDestTypeInfo.end();
if ( bRet )
_rNewDataType = _nDataType;
@@ -1499,6 +1527,7 @@ sal_Bool OCopyTableWizard::supportsType(sal_Int32 _nDataType,sal_Int32& _rNewDat
// -----------------------------------------------------------------------------
TOTypeInfoSP OCopyTableWizard::convertType(const TOTypeInfoSP& _pType,sal_Bool& _bNotConvert)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::convertType" );
if ( !m_bInterConnectionCopy )
// no need to convert if the source and destination connection are the same
return _pType;
@@ -1577,6 +1606,7 @@ TOTypeInfoSP OCopyTableWizard::convertType(const TOTypeInfoSP& _pType,sal_Bool&
// -----------------------------------------------------------------------------
::rtl::OUString OCopyTableWizard::createUniqueName(const ::rtl::OUString& _sName)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::createUniqueName" );
::rtl::OUString sName = _sName;
Sequence< ::rtl::OUString > aColumnNames( m_rSourceObject.getColumnNames() );
if ( aColumnNames.getLength() )
@@ -1598,6 +1628,7 @@ TOTypeInfoSP OCopyTableWizard::convertType(const TOTypeInfoSP& _pType,sal_Bool&
// -----------------------------------------------------------------------------
void OCopyTableWizard::showColumnTypeNotSupported(const ::rtl::OUString& _rColumnName)
{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "misc", "Ocke.Janssen@sun.com", "OCopyTableWizard::showColumnTypeNotSupported" );
String sMessage( ModuleRes( STR_UNKNOWN_TYPE_FOUND ) );
sMessage.SearchAndReplaceAscii("#1",_rColumnName);
diff --git a/dbaccess/source/ui/uno/copytablewizard.cxx b/dbaccess/source/ui/uno/copytablewizard.cxx
index 476f87d4a7a8..511edcd4bb07 100644
--- a/dbaccess/source/ui/uno/copytablewizard.cxx
+++ b/dbaccess/source/ui/uno/copytablewizard.cxx
@@ -73,6 +73,7 @@
#include <cppuhelper/exc_hlp.hxx>
#include <cppuhelper/implbase1.hxx>
#include <rtl/ustrbuf.hxx>
+#include <rtl/logfile.hxx>
#include <svtools/genericunodialog.hxx>
#include <tools/diagnose_ex.h>
#include <unotools/sharedunocomponent.hxx>
@@ -291,6 +292,11 @@ namespace dbaui
*/
void impl_doCopy_nothrow();
+ /** creates the INSERT INTO statement
+ @param _xTable The destination table.
+ */
+ ::rtl::OUString impl_getSelectStatement_nothrow(const Reference< XPropertySet >& _xTable);
+
/** creates the statement which, when executed, will produce the source data to copy
If the source object refers to a query which contains parameters, those parameters
@@ -344,1143 +350,1223 @@ private:
sal_Int16 m_nOverrideExecutionResult;
};
- //=========================================================================
- //= MethodGuard
- //=========================================================================
- class CopyTableAccessGuard
- {
- public:
- CopyTableAccessGuard( CopyTableWizard& _rWizard )
- :m_rWizard( _rWizard )
- {
- m_rWizard.getMutex().acquire();
- if ( !m_rWizard.isInitialized() )
- throw NotInitializedException();
- }
-
- ~CopyTableAccessGuard()
- {
- m_rWizard.getMutex().release();
- }
-
- private:
- CopyTableWizard& m_rWizard;
- };
-
- //=========================================================================
- //-------------------------------------------------------------------------
- CopyTableWizard::CopyTableWizard( const Reference< XMultiServiceFactory >& _rxORB )
- :CopyTableWizard_Base( _rxORB )
- ,m_aContext( _rxORB )
- ,m_nOperation( CopyTableOperation::CopyDefinitionAndData )
- ,m_sDestinationTable()
- ,m_aPrimaryKeyName( sal_False, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ID" ) ))
- ,m_xSourceConnection()
- ,m_nCommandType( CommandType::COMMAND )
- ,m_pSourceObject()
- ,m_aSourceSelection()
- ,m_bSourceSelectionBookmarks( true )
- ,m_xDestConnection()
- ,m_aCopyTableListeners( m_aMutex )
- ,m_nOverrideExecutionResult( -1 )
+//=========================================================================
+//= MethodGuard
+//=========================================================================
+class CopyTableAccessGuard
+{
+public:
+ CopyTableAccessGuard( CopyTableWizard& _rWizard )
+ :m_rWizard( _rWizard )
{
+ m_rWizard.getMutex().acquire();
+ if ( !m_rWizard.isInitialized() )
+ throw NotInitializedException();
}
- //-------------------------------------------------------------------------
- CopyTableWizard::~CopyTableWizard()
+ ~CopyTableAccessGuard()
{
- acquire();
-
- // protect some members whose dtor might potentially throw
- try { m_xSourceConnection.clear(); }
- catch( const Exception& ) { DBG_UNHANDLED_EXCEPTION(); }
- try { m_xDestConnection.clear(); }
- catch( const Exception& ) { DBG_UNHANDLED_EXCEPTION(); }
-
- // TODO: shouldn't we have explicit disposal support? If a listener is registered
- // at our instance, and perhaps holds this our instance by a hard ref, then we'll never
- // destroyed.
- // However, adding XComponent support to the GenericUNODialog probably requires
- // some thinking - would it break existing clients which do not call a dispose, then?
+ m_rWizard.getMutex().release();
}
- //-------------------------------------------------------------------------
- Reference< XInterface > CopyTableWizard::Create( const Reference< XMultiServiceFactory >& _rxFactory )
- {
- return *( new CopyTableWizard( _rxFactory ) );
- }
+private:
+ CopyTableWizard& m_rWizard;
+};
+
+//=========================================================================
+//-------------------------------------------------------------------------
+CopyTableWizard::CopyTableWizard( const Reference< XMultiServiceFactory >& _rxORB )
+ :CopyTableWizard_Base( _rxORB )
+ ,m_aContext( _rxORB )
+ ,m_nOperation( CopyTableOperation::CopyDefinitionAndData )
+ ,m_sDestinationTable()
+ ,m_aPrimaryKeyName( sal_False, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ID" ) ))
+ ,m_xSourceConnection()
+ ,m_nCommandType( CommandType::COMMAND )
+ ,m_pSourceObject()
+ ,m_aSourceSelection()
+ ,m_bSourceSelectionBookmarks( true )
+ ,m_xDestConnection()
+ ,m_aCopyTableListeners( m_aMutex )
+ ,m_nOverrideExecutionResult( -1 )
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::CopyTableWizard" );
+}
- //-------------------------------------------------------------------------
- ::rtl::OUString SAL_CALL CopyTableWizard::getImplementationName() throw(RuntimeException)
- {
- return getImplementationName_Static();
- }
+//-------------------------------------------------------------------------
+CopyTableWizard::~CopyTableWizard()
+{
+ acquire();
+
+ // protect some members whose dtor might potentially throw
+ try { m_xSourceConnection.clear(); }
+ catch( const Exception& ) { DBG_UNHANDLED_EXCEPTION(); }
+ try { m_xDestConnection.clear(); }
+ catch( const Exception& ) { DBG_UNHANDLED_EXCEPTION(); }
+
+ // TODO: shouldn't we have explicit disposal support? If a listener is registered
+ // at our instance, and perhaps holds this our instance by a hard ref, then we'll never
+ // destroyed.
+ // However, adding XComponent support to the GenericUNODialog probably requires
+ // some thinking - would it break existing clients which do not call a dispose, then?
+}
- //-------------------------------------------------------------------------
- ::rtl::OUString CopyTableWizard::getImplementationName_Static() throw(RuntimeException)
- {
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "org.openoffice.comp.dbu.CopyTableWizard" ) );
- }
+//-------------------------------------------------------------------------
+Reference< XInterface > CopyTableWizard::Create( const Reference< XMultiServiceFactory >& _rxFactory )
+{
+ return *( new CopyTableWizard( _rxFactory ) );
+}
- //-------------------------------------------------------------------------
- ::comphelper::StringSequence SAL_CALL CopyTableWizard::getSupportedServiceNames() throw(RuntimeException)
- {
- return getSupportedServiceNames_Static();
- }
+//-------------------------------------------------------------------------
+::rtl::OUString SAL_CALL CopyTableWizard::getImplementationName() throw(RuntimeException)
+{
+ return getImplementationName_Static();
+}
- //-------------------------------------------------------------------------
- ::comphelper::StringSequence CopyTableWizard::getSupportedServiceNames_Static() throw(RuntimeException)
- {
- ::comphelper::StringSequence aSupported(1);
- aSupported.getArray()[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sdb.application.CopyTableWizard" ) );
- return aSupported;
- }
+//-------------------------------------------------------------------------
+::rtl::OUString CopyTableWizard::getImplementationName_Static() throw(RuntimeException)
+{
+ return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "org.openoffice.comp.dbu.CopyTableWizard" ) );
+}
- //-------------------------------------------------------------------------
- Reference< XPropertySetInfo > SAL_CALL CopyTableWizard::getPropertySetInfo() throw(RuntimeException)
- {
- Reference< XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
- return xInfo;
- }
+//-------------------------------------------------------------------------
+::comphelper::StringSequence SAL_CALL CopyTableWizard::getSupportedServiceNames() throw(RuntimeException)
+{
+ return getSupportedServiceNames_Static();
+}
- //--------------------------------------------------------------------
- ::sal_Int16 SAL_CALL CopyTableWizard::getOperation() throw (RuntimeException)
- {
- CopyTableAccessGuard aGuard( *this );
- return m_nOperation;
- }
+//-------------------------------------------------------------------------
+::comphelper::StringSequence CopyTableWizard::getSupportedServiceNames_Static() throw(RuntimeException)
+{
+ ::comphelper::StringSequence aSupported(1);
+ aSupported.getArray()[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sdb.application.CopyTableWizard" ) );
+ return aSupported;
+}
- //--------------------------------------------------------------------
- void SAL_CALL CopyTableWizard::setOperation( ::sal_Int16 _operation ) throw (IllegalArgumentException, RuntimeException)
- {
- CopyTableAccessGuard aGuard( *this );
-
- if ( ( _operation != CopyTableOperation::CopyDefinitionAndData )
- && ( _operation != CopyTableOperation::CopyDefinitionOnly )
- && ( _operation != CopyTableOperation::CreateAsView )
- && ( _operation != CopyTableOperation::AppendData )
- )
- throw IllegalArgumentException( ::rtl::OUString(), *this, 1 );
-
- if ( ( _operation == CopyTableOperation::CreateAsView )
- && !OCopyTableWizard::supportsViews( m_xDestConnection )
- )
- throw IllegalArgumentException(
- String( ModuleRes( STR_CTW_NO_VIEWS_SUPPORT ) ),
- *this,
- 1
- );
+//-------------------------------------------------------------------------
+Reference< XPropertySetInfo > SAL_CALL CopyTableWizard::getPropertySetInfo() throw(RuntimeException)
+{
+ Reference< XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
+ return xInfo;
+}
- m_nOperation = _operation;
- }
+//--------------------------------------------------------------------
+::sal_Int16 SAL_CALL CopyTableWizard::getOperation() throw (RuntimeException)
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::getOperation" );
+ CopyTableAccessGuard aGuard( *this );
+ return m_nOperation;
+}
- //--------------------------------------------------------------------
- ::rtl::OUString SAL_CALL CopyTableWizard::getDestinationTableName() throw (RuntimeException)
- {
- CopyTableAccessGuard aGuard( *this );
- return m_sDestinationTable;
- }
+//--------------------------------------------------------------------
+void SAL_CALL CopyTableWizard::setOperation( ::sal_Int16 _operation ) throw (IllegalArgumentException, RuntimeException)
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::setOperation" );
+ CopyTableAccessGuard aGuard( *this );
+
+ if ( ( _operation != CopyTableOperation::CopyDefinitionAndData )
+ && ( _operation != CopyTableOperation::CopyDefinitionOnly )
+ && ( _operation != CopyTableOperation::CreateAsView )
+ && ( _operation != CopyTableOperation::AppendData )
+ )
+ throw IllegalArgumentException( ::rtl::OUString(), *this, 1 );
+
+ if ( ( _operation == CopyTableOperation::CreateAsView )
+ && !OCopyTableWizard::supportsViews( m_xDestConnection )
+ )
+ throw IllegalArgumentException(
+ String( ModuleRes( STR_CTW_NO_VIEWS_SUPPORT ) ),
+ *this,
+ 1
+ );
- //--------------------------------------------------------------------
- void SAL_CALL CopyTableWizard::setDestinationTableName( const ::rtl::OUString& _destinationTableName ) throw (RuntimeException)
- {
- CopyTableAccessGuard aGuard( *this );
- m_sDestinationTable = _destinationTableName;
- }
+ m_nOperation = _operation;
+}
- //--------------------------------------------------------------------
- Optional< ::rtl::OUString > SAL_CALL CopyTableWizard::getCreatePrimaryKey() throw (RuntimeException)
- {
- CopyTableAccessGuard aGuard( *this );
- return m_aPrimaryKeyName;
- }
+//--------------------------------------------------------------------
+::rtl::OUString SAL_CALL CopyTableWizard::getDestinationTableName() throw (RuntimeException)
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::getDestinationTableName" );
+ CopyTableAccessGuard aGuard( *this );
+ return m_sDestinationTable;
+}
- //--------------------------------------------------------------------
- void SAL_CALL CopyTableWizard::setCreatePrimaryKey( const Optional< ::rtl::OUString >& _newPrimaryKey ) throw (IllegalArgumentException, RuntimeException)
- {
- CopyTableAccessGuard aGuard( *this );
+//--------------------------------------------------------------------
+void SAL_CALL CopyTableWizard::setDestinationTableName( const ::rtl::OUString& _destinationTableName ) throw (RuntimeException)
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::setDestinationTableName" );
+ CopyTableAccessGuard aGuard( *this );
+ m_sDestinationTable = _destinationTableName;
+}
- if ( _newPrimaryKey.IsPresent && !OCopyTableWizard::supportsPrimaryKey( m_xDestConnection ) )
- throw IllegalArgumentException(
- String( ModuleRes( STR_CTW_NO_PRIMARY_KEY_SUPPORT ) ),
- *this,
- 1
- );
+//--------------------------------------------------------------------
+Optional< ::rtl::OUString > SAL_CALL CopyTableWizard::getCreatePrimaryKey() throw (RuntimeException)
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::getCreatePrimaryKey" );
+ CopyTableAccessGuard aGuard( *this );
+ return m_aPrimaryKeyName;
+}
- m_aPrimaryKeyName = _newPrimaryKey;
- }
+//--------------------------------------------------------------------
+void SAL_CALL CopyTableWizard::setCreatePrimaryKey( const Optional< ::rtl::OUString >& _newPrimaryKey ) throw (IllegalArgumentException, RuntimeException)
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::setCreatePrimaryKey" );
+ CopyTableAccessGuard aGuard( *this );
+
+ if ( _newPrimaryKey.IsPresent && !OCopyTableWizard::supportsPrimaryKey( m_xDestConnection ) )
+ throw IllegalArgumentException(
+ String( ModuleRes( STR_CTW_NO_PRIMARY_KEY_SUPPORT ) ),
+ *this,
+ 1
+ );
- //--------------------------------------------------------------------
- void SAL_CALL CopyTableWizard::addCopyTableListener( const Reference< XCopyTableListener >& _rxListener ) throw (RuntimeException)
- {
- CopyTableAccessGuard aGuard( *this );
- if ( _rxListener.is() )
- m_aCopyTableListeners.addInterface( _rxListener );
- }
+ m_aPrimaryKeyName = _newPrimaryKey;
+}
- //--------------------------------------------------------------------
- void SAL_CALL CopyTableWizard::removeCopyTableListener( const Reference< XCopyTableListener >& _rxListener ) throw (RuntimeException)
- {
- CopyTableAccessGuard aGuard( *this );
- if ( _rxListener.is() )
- m_aCopyTableListeners.removeInterface( _rxListener );
- }
+//--------------------------------------------------------------------
+void SAL_CALL CopyTableWizard::addCopyTableListener( const Reference< XCopyTableListener >& _rxListener ) throw (RuntimeException)
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::addCopyTableListener" );
+ CopyTableAccessGuard aGuard( *this );
+ if ( _rxListener.is() )
+ m_aCopyTableListeners.addInterface( _rxListener );
+}
- //--------------------------------------------------------------------
- void SAL_CALL CopyTableWizard::setTitle( const ::rtl::OUString& _rTitle ) throw (RuntimeException)
- {
- CopyTableAccessGuard aGuard( *this );
- CopyTableWizard_DialogBase::setTitle( _rTitle );
- }
+//--------------------------------------------------------------------
+void SAL_CALL CopyTableWizard::removeCopyTableListener( const Reference< XCopyTableListener >& _rxListener ) throw (RuntimeException)
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::removeCopyTableListener" );
+ CopyTableAccessGuard aGuard( *this );
+ if ( _rxListener.is() )
+ m_aCopyTableListeners.removeInterface( _rxListener );
+}
- //--------------------------------------------------------------------
- ::sal_Int16 SAL_CALL CopyTableWizard::execute( ) throw (RuntimeException)
- {
- CopyTableAccessGuard aGuard( *this );
+//--------------------------------------------------------------------
+void SAL_CALL CopyTableWizard::setTitle( const ::rtl::OUString& _rTitle ) throw (RuntimeException)
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::setTitle" );
+ CopyTableAccessGuard aGuard( *this );
+ CopyTableWizard_DialogBase::setTitle( _rTitle );
+}
- m_nOverrideExecutionResult = -1;
- sal_Int16 nExecutionResult = CopyTableWizard_DialogBase::execute();
- if ( m_nOverrideExecutionResult )
- nExecutionResult = m_nOverrideExecutionResult;
+//--------------------------------------------------------------------
+::sal_Int16 SAL_CALL CopyTableWizard::execute( ) throw (RuntimeException)
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::execute" );
+ CopyTableAccessGuard aGuard( *this );
- return nExecutionResult;
- }
+ m_nOverrideExecutionResult = -1;
+ sal_Int16 nExecutionResult = CopyTableWizard_DialogBase::execute();
+ if ( m_nOverrideExecutionResult )
+ nExecutionResult = m_nOverrideExecutionResult;
- //-------------------------------------------------------------------------
- OCopyTableWizard& CopyTableWizard::impl_getDialog_throw()
- {
- OCopyTableWizard* pWizard = dynamic_cast< OCopyTableWizard* >( m_pDialog );
- if ( !pWizard )
- throw DisposedException( ::rtl::OUString(), *this );
- return *pWizard;
- }
+ return nExecutionResult;
+}
- //-------------------------------------------------------------------------
- const OCopyTableWizard& CopyTableWizard::impl_getDialog_throw() const
- {
- const OCopyTableWizard* pWizard = dynamic_cast< const OCopyTableWizard* >( m_pDialog );
- if ( !pWizard )
- throw DisposedException( ::rtl::OUString(), *const_cast< CopyTableWizard* >( this ) );
- return *pWizard;
- }
+//-------------------------------------------------------------------------
+OCopyTableWizard& CopyTableWizard::impl_getDialog_throw()
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_getDialog_throw" );
+ OCopyTableWizard* pWizard = dynamic_cast< OCopyTableWizard* >( m_pDialog );
+ if ( !pWizard )
+ throw DisposedException( ::rtl::OUString(), *this );
+ return *pWizard;
+}
- //-------------------------------------------------------------------------
- void CopyTableWizard::impl_attributesToDialog_nothrow( OCopyTableWizard& _rDialog ) const
- {
- // primary key column
- _rDialog.setCreatePrimaryKey( m_aPrimaryKeyName.IsPresent, m_aPrimaryKeyName.Value );
+//-------------------------------------------------------------------------
+const OCopyTableWizard& CopyTableWizard::impl_getDialog_throw() const
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_getDialog_throw" );
+ const OCopyTableWizard* pWizard = dynamic_cast< const OCopyTableWizard* >( m_pDialog );
+ if ( !pWizard )
+ throw DisposedException( ::rtl::OUString(), *const_cast< CopyTableWizard* >( this ) );
+ return *pWizard;
+}
- // everything else was passed at construction time already
- }
+//-------------------------------------------------------------------------
+void CopyTableWizard::impl_attributesToDialog_nothrow( OCopyTableWizard& _rDialog ) const
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_attributesToDialog_nothrow" );
+ // primary key column
+ _rDialog.setCreatePrimaryKey( m_aPrimaryKeyName.IsPresent, m_aPrimaryKeyName.Value );
- //-------------------------------------------------------------------------
- void CopyTableWizard::impl_dialogToAttributes_nothrow( const OCopyTableWizard& _rDialog )
- {
- m_aPrimaryKeyName.IsPresent = _rDialog.shouldCreatePrimaryKey();
- if ( m_aPrimaryKeyName.IsPresent )
- m_aPrimaryKeyName.Value = _rDialog.getPrimaryKeyName();
- else
- m_aPrimaryKeyName.Value = ::rtl::OUString();
+ // everything else was passed at construction time already
+}
- m_sDestinationTable = _rDialog.getName();
+//-------------------------------------------------------------------------
+void CopyTableWizard::impl_dialogToAttributes_nothrow( const OCopyTableWizard& _rDialog )
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_dialogToAttributes_nothrow" );
+ m_aPrimaryKeyName.IsPresent = _rDialog.shouldCreatePrimaryKey();
+ if ( m_aPrimaryKeyName.IsPresent )
+ m_aPrimaryKeyName.Value = _rDialog.getPrimaryKeyName();
+ else
+ m_aPrimaryKeyName.Value = ::rtl::OUString();
- m_nOperation = _rDialog.getOperation();
- }
+ m_sDestinationTable = _rDialog.getName();
- //-------------------------------------------------------------------------
- namespace
- {
- //.....................................................................
- /** tries to obtain the InteractionHandler associated with a given data source
+ m_nOperation = _rDialog.getOperation();
+}
- If the data source is a sdb-level data source, it will have a DatabaseDocument associated
- with it. This doocument may have an InteractionHandler used while loading it.
+//-------------------------------------------------------------------------
+namespace
+{
+ //.....................................................................
+ /** tries to obtain the InteractionHandler associated with a given data source
- @throws RuntimeException
- if it occures during invoking any of the data source's methods, or if any of the involved
- components violates its contract by not providing the required interfaces
- */
- InteractionHandler lcl_getInteractionHandler_throw( const Reference< XDataSource >& _rxDataSource, const InteractionHandler& _rFallback )
- {
- InteractionHandler xHandler( _rFallback );
+ If the data source is a sdb-level data source, it will have a DatabaseDocument associated
+ with it. This doocument may have an InteractionHandler used while loading it.
- // try to obtain the document model
- Reference< XModel > xDocumentModel;
- Reference< XDocumentDataSource > xDocDataSource( _rxDataSource, UNO_QUERY );
- if ( xDocDataSource.is() )
- xDocumentModel.set( xDocDataSource->getDatabaseDocument(), UNO_QUERY_THROW );
+ @throws RuntimeException
+ if it occures during invoking any of the data source's methods, or if any of the involved
+ components violates its contract by not providing the required interfaces
+ */
+ InteractionHandler lcl_getInteractionHandler_throw( const Reference< XDataSource >& _rxDataSource, const InteractionHandler& _rFallback )
+ {
+ InteractionHandler xHandler( _rFallback );
- // see whether the document model can provide a handler
- if ( xDocumentModel.is() )
- {
- ::comphelper::NamedValueCollection aModelArgs( xDocumentModel->getArgs() );
- xHandler = aModelArgs.getOrDefault( "InteractionHandler", xHandler );
- }
+ // try to obtain the document model
+ Reference< XModel > xDocumentModel;
+ Reference< XDocumentDataSource > xDocDataSource( _rxDataSource, UNO_QUERY );
+ if ( xDocDataSource.is() )
+ xDocumentModel.set( xDocDataSource->getDatabaseDocument(), UNO_QUERY_THROW );
- return xHandler;
+ // see whether the document model can provide a handler
+ if ( xDocumentModel.is() )
+ {
+ ::comphelper::NamedValueCollection aModelArgs( xDocumentModel->getArgs() );
+ xHandler = aModelArgs.getOrDefault( "InteractionHandler", xHandler );
}
- //.....................................................................
- /** tries to obtain the InteractionHandler associated with a given connection
- If the connection belongs to a sdb-level data source, then this data source
- is examined for an interaction handler. Else, <NULL/> is returned.
+ return xHandler;
+ }
+ //.....................................................................
+ /** tries to obtain the InteractionHandler associated with a given connection
- @throws RuntimeException
- if it occures during invoking any of the data source's methods, or if any of the involved
- components violates its contract by not providing the required interfaces
- */
- InteractionHandler lcl_getInteractionHandler_throw( const Reference< XConnection >& _rxConnection, const InteractionHandler& _rFallback )
- {
- // try whether there is a data source which the connection belongs to
- Reference< XDataSource > xDataSource;
- Reference< XChild > xAsChild( _rxConnection, UNO_QUERY );
- if ( xAsChild.is() )
- xDataSource = xDataSource.query( xAsChild->getParent() );
+ If the connection belongs to a sdb-level data source, then this data source
+ is examined for an interaction handler. Else, <NULL/> is returned.
- if ( xDataSource.is() )
- return lcl_getInteractionHandler_throw( xDataSource, _rFallback );
+ @throws RuntimeException
+ if it occures during invoking any of the data source's methods, or if any of the involved
+ components violates its contract by not providing the required interfaces
+ */
+ InteractionHandler lcl_getInteractionHandler_throw( const Reference< XConnection >& _rxConnection, const InteractionHandler& _rFallback )
+ {
+ // try whether there is a data source which the connection belongs to
+ Reference< XDataSource > xDataSource;
+ Reference< XChild > xAsChild( _rxConnection, UNO_QUERY );
+ if ( xAsChild.is() )
+ xDataSource = xDataSource.query( xAsChild->getParent() );
- return _rFallback;
- }
+ if ( xDataSource.is() )
+ return lcl_getInteractionHandler_throw( xDataSource, _rFallback );
+
+ return _rFallback;
}
+}
- //-------------------------------------------------------------------------
- Reference< XPropertySet > CopyTableWizard::impl_ensureDataAccessDescriptor_throw(
- const Sequence< Any >& _rAllArgs, const sal_Int16 _nArgPos, SharedConnection& _out_rxConnection,
- InteractionHandler& _out_rxDocInteractionHandler ) const
+//-------------------------------------------------------------------------
+Reference< XPropertySet > CopyTableWizard::impl_ensureDataAccessDescriptor_throw(
+ const Sequence< Any >& _rAllArgs, const sal_Int16 _nArgPos, SharedConnection& _out_rxConnection,
+ InteractionHandler& _out_rxDocInteractionHandler ) const
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_ensureDataAccessDescriptor_throw" );
+ Reference< XPropertySet > xDescriptor;
+ _rAllArgs[ _nArgPos ] >>= xDescriptor;
+
+ // the descriptor must be non-NULL, of course
+ bool bIsValid = xDescriptor.is();
+
+ // it must support the proper service
+ if ( bIsValid )
{
- Reference< XPropertySet > xDescriptor;
- _rAllArgs[ _nArgPos ] >>= xDescriptor;
+ Reference< XServiceInfo > xSI( xDescriptor, UNO_QUERY );
+ bIsValid = ( xSI.is()
+ && xSI->supportsService( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sdb.DataAccessDescriptor" ) ) )
+ );
+ }
- // the descriptor must be non-NULL, of course
- bool bIsValid = xDescriptor.is();
+ // it must be able to provide a connection
+ if ( bIsValid )
+ {
+ _out_rxConnection = impl_extractConnection_throw( xDescriptor, _out_rxDocInteractionHandler );
+ bIsValid = _out_rxConnection.is();
+ }
- // it must support the proper service
- if ( bIsValid )
- {
- Reference< XServiceInfo > xSI( xDescriptor, UNO_QUERY );
- bIsValid = ( xSI.is()
- && xSI->supportsService( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sdb.DataAccessDescriptor" ) ) )
- );
- }
+ if ( !bIsValid )
+ {
+ throw IllegalArgumentException(
+ String( ModuleRes( STR_CTW_INVALID_DATA_ACCESS_DESCRIPTOR ) ),
+ *const_cast< CopyTableWizard* >( this ),
+ _nArgPos + 1
+ );
+ }
- // it must be able to provide a connection
- if ( bIsValid )
- {
- _out_rxConnection = impl_extractConnection_throw( xDescriptor, _out_rxDocInteractionHandler );
- bIsValid = _out_rxConnection.is();
- }
+ return xDescriptor;
+}
- if ( !bIsValid )
+//-------------------------------------------------------------------------
+namespace
+{
+ bool lcl_hasNonEmptyStringValue_throw( const Reference< XPropertySet >& _rxDescriptor,
+ const Reference< XPropertySetInfo > _rxPSI, const ::rtl::OUString& _rPropertyName )
+ {
+ ::rtl::OUString sValue;
+ if ( _rxPSI->hasPropertyByName( _rPropertyName ) )
{
- throw IllegalArgumentException(
- String( ModuleRes( STR_CTW_INVALID_DATA_ACCESS_DESCRIPTOR ) ),
- *const_cast< CopyTableWizard* >( this ),
- _nArgPos + 1
- );
+ OSL_VERIFY( _rxDescriptor->getPropertyValue( _rPropertyName ) >>= sValue );
}
+ return sValue.getLength() > 0;
+ }
+}
- return xDescriptor;
+//-------------------------------------------------------------------------
+void CopyTableWizard::impl_checkForUnsupportedSettings_throw( const Reference< XPropertySet >& _rxSourceDescriptor ) const
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_checkForUnsupportedSettings_throw" );
+ OSL_PRECOND( _rxSourceDescriptor.is(), "CopyTableWizard::impl_checkForUnsupportedSettings_throw: illegal argument!" );
+ Reference< XPropertySetInfo > xPSI( _rxSourceDescriptor->getPropertySetInfo(), UNO_SET_THROW );
+ ::rtl::OUString sUnsupportedSetting;
+
+ // in theory, we could allow to use a mere result set as copy source. However, since this is currently
+ // not implemented at all, we report this in the initialization phase already
+ if ( xPSI->hasPropertyByName( PROPERTY_RESULT_SET ) )
+ {
+ Reference< XResultSet > xSource( _rxSourceDescriptor->getPropertyValue( PROPERTY_RESULT_SET ), UNO_QUERY );
+ if ( xSource.is() )
+ sUnsupportedSetting = PROPERTY_RESULT_SET;
}
- //-------------------------------------------------------------------------
- namespace
+ if ( sUnsupportedSetting.getLength() == 0 )
{
- bool lcl_hasNonEmptyStringValue_throw( const Reference< XPropertySet >& _rxDescriptor,
- const Reference< XPropertySetInfo > _rxPSI, const ::rtl::OUString& _rPropertyName )
+ const ::rtl::OUString aSettings[] = {
+ PROPERTY_FILTER, PROPERTY_ORDER, PROPERTY_HAVING_CLAUSE, PROPERTY_GROUP_BY
+ };
+ for ( size_t i=0; i < sizeof( aSettings ) / sizeof( aSettings[0] ); ++i )
{
- ::rtl::OUString sValue;
- if ( _rxPSI->hasPropertyByName( _rPropertyName ) )
+ if ( lcl_hasNonEmptyStringValue_throw( _rxSourceDescriptor, xPSI, aSettings[i] ) )
{
- OSL_VERIFY( _rxDescriptor->getPropertyValue( _rPropertyName ) >>= sValue );
+ sUnsupportedSetting = aSettings[i];
+ break;
}
- return sValue.getLength() > 0;
}
}
- //-------------------------------------------------------------------------
- void CopyTableWizard::impl_checkForUnsupportedSettings_throw( const Reference< XPropertySet >& _rxSourceDescriptor ) const
+ if ( sUnsupportedSetting.getLength() != 0 )
{
- OSL_PRECOND( _rxSourceDescriptor.is(), "CopyTableWizard::impl_checkForUnsupportedSettings_throw: illegal argument!" );
- Reference< XPropertySetInfo > xPSI( _rxSourceDescriptor->getPropertySetInfo(), UNO_SET_THROW );
- ::rtl::OUString sUnsupportedSetting;
+ ::rtl::OUString sMessage( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Unsupported setting in the copy source descriptor: $name$." ) ) );
+ // TODO: resource
+ sMessage = sMessage.replaceAt( sMessage.indexOfAsciiL( "$name$", 6 ), 6, sUnsupportedSetting );
+ throw IllegalArgumentException(
+ sMessage,
+ *const_cast< CopyTableWizard* >( this ),
+ 1
+ );
+ }
- // in theory, we could allow to use a mere result set as copy source. However, since this is currently
- // not implemented at all, we report this in the initialization phase already
- if ( xPSI->hasPropertyByName( PROPERTY_RESULT_SET ) )
- {
- Reference< XResultSet > xSource( _rxSourceDescriptor->getPropertyValue( PROPERTY_RESULT_SET ), UNO_QUERY );
- if ( xSource.is() )
- sUnsupportedSetting = PROPERTY_RESULT_SET;
- }
+}
- if ( sUnsupportedSetting.getLength() == 0 )
- {
- const ::rtl::OUString aSettings[] = {
- PROPERTY_FILTER, PROPERTY_ORDER, PROPERTY_HAVING_CLAUSE, PROPERTY_GROUP_BY
- };
- for ( size_t i=0; i < sizeof( aSettings ) / sizeof( aSettings[0] ); ++i )
- {
- if ( lcl_hasNonEmptyStringValue_throw( _rxSourceDescriptor, xPSI, aSettings[i] ) )
- {
- sUnsupportedSetting = aSettings[i];
- break;
- }
- }
- }
+//-------------------------------------------------------------------------
+::std::auto_ptr< ICopyTableSourceObject > CopyTableWizard::impl_extractSourceObject_throw( const Reference< XPropertySet >& _rxDescriptor, sal_Int32& _out_rCommandType ) const
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_extractSourceObject_throw" );
+ OSL_PRECOND( _rxDescriptor.is() && m_xSourceConnection.is(), "CopyTableWizard::impl_extractSourceObject_throw: illegal arguments!" );
+
+ impl_checkForUnsupportedSettings_throw( _rxDescriptor );
+
+ Reference< XPropertySetInfo > xPSI( _rxDescriptor->getPropertySetInfo(), UNO_SET_THROW );
+ if ( !xPSI->hasPropertyByName( PROPERTY_COMMAND )
+ || !xPSI->hasPropertyByName( PROPERTY_COMMAND_TYPE )
+ )
+ throw IllegalArgumentException(
+ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Expecting a table or query specification." ) ),
+ *const_cast< CopyTableWizard* >( this ),
+ 1
+ );
- if ( sUnsupportedSetting.getLength() != 0 )
- {
- ::rtl::OUString sMessage( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Unsupported setting in the copy source descriptor: $name$." ) ) );
- // TODO: resource
- sMessage = sMessage.replaceAt( sMessage.indexOfAsciiL( "$name$", 6 ), 6, sUnsupportedSetting );
- throw IllegalArgumentException(
- sMessage,
- *const_cast< CopyTableWizard* >( this ),
- 1
- );
- }
+ ::rtl::OUString sCommand;
+ _out_rCommandType = CommandType::COMMAND;
+ OSL_VERIFY( _rxDescriptor->getPropertyValue( PROPERTY_COMMAND ) >>= sCommand );
+ OSL_VERIFY( _rxDescriptor->getPropertyValue( PROPERTY_COMMAND_TYPE ) >>= _out_rCommandType );
+ ::std::auto_ptr< ICopyTableSourceObject > pSourceObject;
+ Reference< XNameAccess > xContainer;
+ switch ( _out_rCommandType )
+ {
+ case CommandType::TABLE:
+ {
+ Reference< XTablesSupplier > xSuppTables( m_xSourceConnection.getTyped(), UNO_QUERY );
+ if ( xSuppTables.is() )
+ xContainer.set( xSuppTables->getTables(), UNO_SET_THROW );
}
-
- //-------------------------------------------------------------------------
- ::std::auto_ptr< ICopyTableSourceObject > CopyTableWizard::impl_extractSourceObject_throw( const Reference< XPropertySet >& _rxDescriptor, sal_Int32& _out_rCommandType ) const
+ break;
+ case CommandType::QUERY:
{
- OSL_PRECOND( _rxDescriptor.is() && m_xSourceConnection.is(), "CopyTableWizard::impl_extractSourceObject_throw: illegal arguments!" );
+ Reference< XQueriesSupplier > xSuppQueries( m_xSourceConnection.getTyped(), UNO_QUERY );
+ if ( xSuppQueries.is() )
+ xContainer.set( xSuppQueries->getQueries(), UNO_SET_THROW );
+ }
+ break;
+ default:
+ throw IllegalArgumentException(
+ String( ModuleRes( STR_CTW_ONLY_TABLES_AND_QUERIES_SUPPORT ) ),
+ *const_cast< CopyTableWizard* >( this ),
+ 1
+ );
+ }
- impl_checkForUnsupportedSettings_throw( _rxDescriptor );
+ if ( xContainer.is() )
+ {
+ pSourceObject.reset( new ObjectCopySource( m_xSourceConnection,
+ Reference< XPropertySet >( xContainer->getByName( sCommand ), UNO_QUERY_THROW ) ) );
+ }
+ else
+ {
+ // our source connection is an SDBC level connection only, not a SDBCX level one
+ // Which means it cannot provide the to-be-copied object as component.
- Reference< XPropertySetInfo > xPSI( _rxDescriptor->getPropertySetInfo(), UNO_SET_THROW );
- if ( !xPSI->hasPropertyByName( PROPERTY_COMMAND )
- || !xPSI->hasPropertyByName( PROPERTY_COMMAND_TYPE )
- )
+ if ( _out_rCommandType == CommandType::QUERY )
+ // we cannot copy a query if the connection cannot provide it ...
throw IllegalArgumentException(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Expecting a table or query specification." ) ),
+ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "To copy a query, your connection must be able to provide queries." ) ),
+ // TODO: resource
*const_cast< CopyTableWizard* >( this ),
1
);
+ pSourceObject.reset( new NamedTableCopySource( m_xSourceConnection, sCommand ) );
+ }
- ::rtl::OUString sCommand;
- _out_rCommandType = CommandType::COMMAND;
- OSL_VERIFY( _rxDescriptor->getPropertyValue( PROPERTY_COMMAND ) >>= sCommand );
- OSL_VERIFY( _rxDescriptor->getPropertyValue( PROPERTY_COMMAND_TYPE ) >>= _out_rCommandType );
+ return pSourceObject;
+}
- ::std::auto_ptr< ICopyTableSourceObject > pSourceObject;
- Reference< XNameAccess > xContainer;
- switch ( _out_rCommandType )
- {
- case CommandType::TABLE:
- {
- Reference< XTablesSupplier > xSuppTables( m_xSourceConnection.getTyped(), UNO_QUERY );
- if ( xSuppTables.is() )
- xContainer.set( xSuppTables->getTables(), UNO_SET_THROW );
- }
+//-------------------------------------------------------------------------
+SharedConnection CopyTableWizard::impl_extractConnection_throw( const Reference< XPropertySet >& _rxDataSourceDescriptor,
+ InteractionHandler& _out_rxDocInteractionHandler ) const
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_extractConnection_throw" );
+ SharedConnection xConnection;
+
+ OSL_PRECOND( _rxDataSourceDescriptor.is(), "CopyTableWizard::impl_extractConnection_throw: no descriptor!" );
+ if ( !_rxDataSourceDescriptor.is() )
+ return xConnection;
+
+ InteractionHandler xInteractionHandler;
+
+ do
+ {
+ Reference< XPropertySetInfo > xPSI( _rxDataSourceDescriptor->getPropertySetInfo(), UNO_SET_THROW );
+
+ // if there's an ActiveConnection, use it
+ if ( xPSI->hasPropertyByName( PROPERTY_ACTIVE_CONNECTION ) )
+ {
+ Reference< XConnection > xPure;
+ OSL_VERIFY( _rxDataSourceDescriptor->getPropertyValue( PROPERTY_ACTIVE_CONNECTION ) >>= xPure );
+ xConnection.reset( xPure, SharedConnection::NoTakeOwnership );
+ }
+ if ( xConnection.is() )
+ {
+ xInteractionHandler = lcl_getInteractionHandler_throw( xConnection.getTyped(), m_xInteractionHandler );
+ OSL_POSTCOND( xInteractionHandler.is(), "CopyTableWizard::impl_extractConnection_throw: lcl_getInteractionHandler_throw returned nonsense!" );
break;
- case CommandType::QUERY:
+ }
+
+ // there could be a DataSourceName or a DatabaseLocation, describing the css.sdb.DataSource
+ ::rtl::OUString sDataSource, sDatabaseLocation;
+ if ( xPSI->hasPropertyByName( PROPERTY_DATASOURCENAME ) )
+ OSL_VERIFY( _rxDataSourceDescriptor->getPropertyValue( PROPERTY_DATASOURCENAME ) >>= sDataSource );
+ if ( xPSI->hasPropertyByName( PROPERTY_DATABASE_LOCATION ) )
+ OSL_VERIFY( _rxDataSourceDescriptor->getPropertyValue( PROPERTY_DATABASE_LOCATION ) >>= sDatabaseLocation );
+
+ // need a DatabaseContext for loading the data source
+ Reference< XNameAccess > xDatabaseContext( m_aContext.createComponent( "com.sun.star.sdb.DatabaseContext" ), UNO_QUERY_THROW );
+ Reference< XDataSource > xDataSource;
+ if ( sDataSource.getLength() )
+ xDataSource.set( xDatabaseContext->getByName( sDataSource ), UNO_QUERY_THROW );
+ if ( !xDataSource.is() && sDatabaseLocation.getLength() )
+ xDataSource.set( xDatabaseContext->getByName( sDatabaseLocation ), UNO_QUERY_THROW );
+
+ if ( xDataSource.is() )
+ {
+ // first, try connecting with completion
+ xInteractionHandler = lcl_getInteractionHandler_throw( xDataSource, m_xInteractionHandler );
+ OSL_POSTCOND( xInteractionHandler.is(), "CopyTableWizard::impl_extractConnection_throw: lcl_getInteractionHandler_throw returned nonsense!" );
+ if ( xInteractionHandler.is() )
{
- Reference< XQueriesSupplier > xSuppQueries( m_xSourceConnection.getTyped(), UNO_QUERY );
- if ( xSuppQueries.is() )
- xContainer.set( xSuppQueries->getQueries(), UNO_SET_THROW );
- }
- break;
- default:
- throw IllegalArgumentException(
- String( ModuleRes( STR_CTW_ONLY_TABLES_AND_QUERIES_SUPPORT ) ),
- *const_cast< CopyTableWizard* >( this ),
- 1
- );
+ Reference< XCompletedConnection > xInteractiveConnection( xDataSource, UNO_QUERY );
+ if ( xInteractiveConnection.is() )
+ xConnection.reset( xInteractiveConnection->connectWithCompletion( xInteractionHandler ), SharedConnection::TakeOwnership );
}
- if ( xContainer.is() )
+ // interactively connecting was not successful or possible -> connect without interaction
+ if ( !xConnection.is() )
{
- pSourceObject.reset( new ObjectCopySource( m_xSourceConnection,
- Reference< XPropertySet >( xContainer->getByName( sCommand ), UNO_QUERY_THROW ) ) );
+ xConnection.reset( xDataSource->getConnection( ::rtl::OUString(), ::rtl::OUString() ), SharedConnection::TakeOwnership );
}
- else
- {
- // our source connection is an SDBC level connection only, not a SDBCX level one
- // Which means it cannot provide the to-be-copied object as component.
+ }
- if ( _out_rCommandType == CommandType::QUERY )
- // we cannot copy a query if the connection cannot provide it ...
- throw IllegalArgumentException(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "To copy a query, your connection must be able to provide queries." ) ),
- // TODO: resource
- *const_cast< CopyTableWizard* >( this ),
- 1
- );
- pSourceObject.reset( new NamedTableCopySource( m_xSourceConnection, sCommand ) );
- }
+ if ( xConnection.is() )
+ break;
- return pSourceObject;
+ // finally, there could be a ConnectionResource/ConnectionInfo
+ ::rtl::OUString sConnectionResource;
+ Sequence< PropertyValue > aConnectionInfo;
+ if ( xPSI->hasPropertyByName( PROPERTY_CONNECTION_RESOURCE ) )
+ OSL_VERIFY( _rxDataSourceDescriptor->getPropertyValue( PROPERTY_CONNECTION_RESOURCE ) >>= sConnectionResource );
+ if ( xPSI->hasPropertyByName( PROPERTY_CONNECTION_INFO ) )
+ OSL_VERIFY( _rxDataSourceDescriptor->getPropertyValue( PROPERTY_CONNECTION_INFO ) >>= aConnectionInfo );
+
+ Reference< XDriverManager > xDriverManager;
+ xDriverManager.set( m_aContext.createComponent( "com.sun.star.sdbc.ConnectionPool" ), UNO_QUERY );
+ if ( !xDriverManager.is() )
+ // no connection pool installed
+ xDriverManager.set( m_aContext.createComponent( "com.sun.star.sdbc.DriverManager" ), UNO_QUERY_THROW );
+
+ if ( aConnectionInfo.getLength() )
+ xConnection.set( xDriverManager->getConnectionWithInfo( sConnectionResource, aConnectionInfo ), UNO_SET_THROW );
+ else
+ xConnection.set( xDriverManager->getConnection( sConnectionResource ), UNO_SET_THROW );
}
+ while ( false );
+
+ if ( xInteractionHandler != m_xInteractionHandler )
+ _out_rxDocInteractionHandler = xInteractionHandler;
+
+ return xConnection;
+}
+
+//-------------------------------------------------------------------------
+::utl::SharedUNOComponent< XPreparedStatement > CopyTableWizard::impl_createSourceStatement_throw() const
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_createSourceStatement_throw" );
+ OSL_PRECOND( m_xSourceConnection.is(), "CopyTableWizard::impl_createSourceStatement_throw: illegal call!" );
+ if ( !m_xSourceConnection.is() )
+ throw RuntimeException( ::rtl::OUString(), *const_cast< CopyTableWizard* >( this ) );
- //-------------------------------------------------------------------------
- SharedConnection CopyTableWizard::impl_extractConnection_throw( const Reference< XPropertySet >& _rxDataSourceDescriptor,
- InteractionHandler& _out_rxDocInteractionHandler ) const
+ ::utl::SharedUNOComponent< XPreparedStatement > xStatement;
+ switch ( m_nCommandType )
{
- SharedConnection xConnection;
+ case CommandType::TABLE:
+ xStatement.set( m_pSourceObject->getPreparedSelectStatement(), UNO_SET_THROW );
+ break;
- OSL_PRECOND( _rxDataSourceDescriptor.is(), "CopyTableWizard::impl_extractConnection_throw: no descriptor!" );
- if ( !_rxDataSourceDescriptor.is() )
- return xConnection;
+ case CommandType::QUERY:
+ {
+ ::rtl::OUString sQueryCommand( m_pSourceObject->getSelectStatement() );
+ xStatement.set( m_pSourceObject->getPreparedSelectStatement(), UNO_SET_THROW );
- InteractionHandler xInteractionHandler;
+ // check whether we have to fill in parameter values
+ // create and fill a composer
- do
- {
- Reference< XPropertySetInfo > xPSI( _rxDataSourceDescriptor->getPropertySetInfo(), UNO_SET_THROW );
+ Reference< XMultiServiceFactory > xFactory( m_xSourceConnection, UNO_QUERY );
+ ::utl::SharedUNOComponent< XSingleSelectQueryComposer > xComposer;
+ if ( xFactory.is() )
+ // note: connections below the sdb-level are allowed to not support the XMultiServiceFactory interface
+ xComposer.set( xFactory->createInstance( SERVICE_NAME_SINGLESELECTQUERYCOMPOSER ), UNO_QUERY );
- // if there's an ActiveConnection, use it
- if ( xPSI->hasPropertyByName( PROPERTY_ACTIVE_CONNECTION ) )
+ if ( xComposer.is() )
{
- Reference< XConnection > xPure;
- OSL_VERIFY( _rxDataSourceDescriptor->getPropertyValue( PROPERTY_ACTIVE_CONNECTION ) >>= xPure );
- xConnection.reset( xPure, SharedConnection::NoTakeOwnership );
+ xComposer->setQuery( sQueryCommand );
+
+ Reference< XParameters > xStatementParams( xStatement, UNO_QUERY );
+ OSL_ENSURE( xStatementParams.is(), "CopyTableWizard::impl_createSourceStatement_throw: no access to the statement's parameters!" );
+ // the statement should be a css.sdbc.PreparedStatement (this is what
+ // we created), and a prepared statement is required to support XParameters
+ if ( xStatementParams.is() )
+ {
+ OSL_ENSURE( m_xInteractionHandler.is(),
+ "CopyTableWizard::impl_createSourceStatement_throw: no interaction handler for the parameters request!" );
+ // we should always have an interaction handler - as last fallback, we create an own one in ::initialize
+
+ if ( m_xInteractionHandler.is() )
+ ::dbtools::askForParameters( xComposer, xStatementParams, m_xSourceConnection, m_xInteractionHandler );
+ }
}
- if ( xConnection.is() )
+ }
+ break;
+
+ default:
+ // this should not have survived initialization phase
+ throw RuntimeException( ::rtl::OUString(), *const_cast< CopyTableWizard* >( this ) );
+ }
+
+ return xStatement;
+}
+
+//-------------------------------------------------------------------------
+namespace
+{
+ class ValueTransfer
+ {
+ public:
+ ValueTransfer( const sal_Int32& _rSourcePos, const sal_Int32& _rDestPos, const ::std::vector< sal_Int32 >& _rColTypes,
+ const Reference< XRow >& _rxSource, const Reference< XParameters >& _rxDest )
+ :m_rSourcePos( _rSourcePos )
+ ,m_rDestPos( _rDestPos )
+ ,m_rColTypes( _rColTypes )
+ ,m_xSource( _rxSource )
+ ,m_xDest( _rxDest )
{
- xInteractionHandler = lcl_getInteractionHandler_throw( xConnection.getTyped(), m_xInteractionHandler );
- OSL_POSTCOND( xInteractionHandler.is(), "CopyTableWizard::impl_extractConnection_throw: lcl_getInteractionHandler_throw returned nonsense!" );
- break;
}
- // there could be a DataSourceName or a DatabaseLocation, describing the css.sdb.DataSource
- ::rtl::OUString sDataSource, sDatabaseLocation;
- if ( xPSI->hasPropertyByName( PROPERTY_DATASOURCENAME ) )
- OSL_VERIFY( _rxDataSourceDescriptor->getPropertyValue( PROPERTY_DATASOURCENAME ) >>= sDataSource );
- if ( xPSI->hasPropertyByName( PROPERTY_DATABASE_LOCATION ) )
- OSL_VERIFY( _rxDataSourceDescriptor->getPropertyValue( PROPERTY_DATABASE_LOCATION ) >>= sDatabaseLocation );
+ template< typename VALUE_TYPE >
+ void transferValue( VALUE_TYPE ( SAL_CALL XRow::*_pGetter )( sal_Int32 ),
+ void (SAL_CALL XParameters::*_pSetter)( sal_Int32, VALUE_TYPE ) )
+ {
+ VALUE_TYPE value( (m_xSource.get()->*_pGetter)( m_rSourcePos ) );
+ if ( m_xSource->wasNull() )
+ m_xDest->setNull( m_rDestPos, m_rColTypes[ m_rSourcePos ] );
+ else
+ (m_xDest.get()->*_pSetter)( m_rDestPos, value );
+ }
- // need a DatabaseContext for loading the data source
- Reference< XNameAccess > xDatabaseContext( m_aContext.createComponent( "com.sun.star.sdb.DatabaseContext" ), UNO_QUERY_THROW );
- Reference< XDataSource > xDataSource;
- if ( sDataSource.getLength() )
- xDataSource.set( xDatabaseContext->getByName( sDataSource ), UNO_QUERY_THROW );
- if ( !xDataSource.is() && sDatabaseLocation.getLength() )
- xDataSource.set( xDatabaseContext->getByName( sDatabaseLocation ), UNO_QUERY_THROW );
+ template< typename VALUE_TYPE >
+ void transferComplexValue( VALUE_TYPE ( SAL_CALL XRow::*_pGetter )( sal_Int32 ),
+ void (SAL_CALL XParameters::*_pSetter)( sal_Int32, const VALUE_TYPE& ) )
+ {
+ VALUE_TYPE value( (m_xSource.get()->*_pGetter)( m_rSourcePos ) );
+ if ( m_xSource->wasNull() )
+ m_xDest->setNull( m_rDestPos, m_rColTypes[ m_rSourcePos ] );
+ else
+ (m_xDest.get()->*_pSetter)( m_rDestPos, value );
+ }
- if ( xDataSource.is() )
- {
- // first, try connecting with completion
- xInteractionHandler = lcl_getInteractionHandler_throw( xDataSource, m_xInteractionHandler );
- OSL_POSTCOND( xInteractionHandler.is(), "CopyTableWizard::impl_extractConnection_throw: lcl_getInteractionHandler_throw returned nonsense!" );
- if ( xInteractionHandler.is() )
- {
- Reference< XCompletedConnection > xInteractiveConnection( xDataSource, UNO_QUERY );
- if ( xInteractiveConnection.is() )
- xConnection.reset( xInteractiveConnection->connectWithCompletion( xInteractionHandler ), SharedConnection::TakeOwnership );
- }
+ private:
+ const sal_Int32& m_rSourcePos;
+ const sal_Int32& m_rDestPos;
+ const ::std::vector< sal_Int32 > m_rColTypes;
+ const Reference< XRow > m_xSource;
+ const Reference< XParameters > m_xDest;
+ };
+}
- // interactively connecting was not successful or possible -> connect without interaction
- if ( !xConnection.is() )
+//-------------------------------------------------------------------------
+bool CopyTableWizard::impl_processCopyError_nothrow( const CopyTableRowEvent& _rEvent )
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_processCopyError_nothrow" );
+ Reference< XCopyTableListener > xListener;
+ try
+ {
+ ::cppu::OInterfaceIteratorHelper aIter( m_aCopyTableListeners );
+ while ( aIter.hasMoreElements() )
+ {
+ xListener.set( aIter.next(), UNO_QUERY_THROW );
+ sal_Int16 nListenerChoice = xListener->copyRowError( _rEvent );
+ switch ( nListenerChoice )
{
- xConnection.reset( xDataSource->getConnection( ::rtl::OUString(), ::rtl::OUString() ), SharedConnection::TakeOwnership );
+ case CopyTableContinuation::Proceed: return true; // continue copying
+ case CopyTableContinuation::CallNextHandler: continue; // continue the loop, ask next listener
+ case CopyTableContinuation::Cancel: return false; // cancel copying
+ case CopyTableContinuation::AskUser: break; // stop asking the listeners, ask the user
+
+ default:
+ OSL_ENSURE( false, "CopyTableWizard::impl_processCopyError_nothrow: invalid listener response!" );
+ // ask next listener
+ continue;
}
}
+ }
+ catch( const Exception& )
+ {
+ DBG_UNHANDLED_EXCEPTION();
+ }
- if ( xConnection.is() )
- break;
+ // no listener felt responsible for the error, or a listener told to ask the user
+
+ try
+ {
+ SQLContext aError;
+ aError.Context = *this;
+ aError.Message = String( ModuleRes( STR_ERROR_OCCURED_WHILE_COPYING ) );
- // finally, there could be a ConnectionResource/ConnectionInfo
- ::rtl::OUString sConnectionResource;
- Sequence< PropertyValue > aConnectionInfo;
- if ( xPSI->hasPropertyByName( PROPERTY_CONNECTION_RESOURCE ) )
- OSL_VERIFY( _rxDataSourceDescriptor->getPropertyValue( PROPERTY_CONNECTION_RESOURCE ) >>= sConnectionResource );
- if ( xPSI->hasPropertyByName( PROPERTY_CONNECTION_INFO ) )
- OSL_VERIFY( _rxDataSourceDescriptor->getPropertyValue( PROPERTY_CONNECTION_INFO ) >>= aConnectionInfo );
-
- Reference< XDriverManager > xDriverManager;
- xDriverManager.set( m_aContext.createComponent( "com.sun.star.sdbc.ConnectionPool" ), UNO_QUERY );
- if ( !xDriverManager.is() )
- // no connection pool installed
- xDriverManager.set( m_aContext.createComponent( "com.sun.star.sdbc.DriverManager" ), UNO_QUERY_THROW );
-
- if ( aConnectionInfo.getLength() )
- xConnection.set( xDriverManager->getConnectionWithInfo( sConnectionResource, aConnectionInfo ), UNO_SET_THROW );
+ ::dbtools::SQLExceptionInfo aInfo( _rEvent.Error );
+ if ( aInfo.isValid() )
+ aError.NextException = _rEvent.Error;
else
- xConnection.set( xDriverManager->getConnection( sConnectionResource ), UNO_SET_THROW );
+ {
+ // a non-SQL exception happend
+ Exception aException;
+ OSL_VERIFY( _rEvent.Error >>= aException );
+ SQLContext aContext;
+ aContext.Context = aException.Context;
+ aContext.Message = aException.Message;
+ aContext.Details = _rEvent.Error.getValueTypeName();
+ aError.NextException <<= aContext;
}
- while ( false );
- if ( xInteractionHandler != m_xInteractionHandler )
- _out_rxDocInteractionHandler = xInteractionHandler;
+ ::rtl::Reference< ::comphelper::OInteractionRequest > xRequest( new ::comphelper::OInteractionRequest( makeAny( aError ) ) );
- return xConnection;
- }
+ ::rtl::Reference< ::comphelper::OInteractionApprove > xYes = new ::comphelper::OInteractionApprove;
+ xRequest->addContinuation( xYes.get() );
+ xRequest->addContinuation( new ::comphelper::OInteractionDisapprove );
- //-------------------------------------------------------------------------
- ::utl::SharedUNOComponent< XPreparedStatement > CopyTableWizard::impl_createSourceStatement_throw() const
+ OSL_ENSURE( m_xInteractionHandler.is(),
+ "CopyTableWizard::impl_processCopyError_nothrow: we always should have an interaction handler!" );
+ if ( m_xInteractionHandler.is() )
+ m_xInteractionHandler->handle( xRequest.get() );
+
+ if ( xYes->wasSelected() )
+ // continue copying
+ return true;
+ }
+ catch( const Exception& )
{
- OSL_PRECOND( m_xSourceConnection.is(), "CopyTableWizard::impl_createSourceStatement_throw: illegal call!" );
- if ( !m_xSourceConnection.is() )
- throw RuntimeException( ::rtl::OUString(), *const_cast< CopyTableWizard* >( this ) );
+ DBG_UNHANDLED_EXCEPTION();
+ }
- ::utl::SharedUNOComponent< XPreparedStatement > xStatement;
- switch ( m_nCommandType )
- {
- case CommandType::TABLE:
- xStatement.set( m_pSourceObject->getPreparedSelectStatement(), UNO_SET_THROW );
- break;
+ // cancel copying
+ return false;
+}
- case CommandType::QUERY:
- {
- ::rtl::OUString sQueryCommand( m_pSourceObject->getSelectStatement() );
- xStatement.set( m_pSourceObject->getPreparedSelectStatement(), UNO_SET_THROW );
+//-------------------------------------------------------------------------
+void CopyTableWizard::impl_copyRows_throw( const Reference< XResultSet >& _rxSourceResultSet,
+ const Reference< XPropertySet >& _rxDestTable )
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_copyRows_throw" );
+ OSL_PRECOND( m_xDestConnection.is(), "CopyTableWizard::impl_copyRows_throw: illegal call!" );
+ if ( !m_xDestConnection.is() )
+ throw RuntimeException( ::rtl::OUString(), *this );
- // check whether we have to fill in parameter values
- // create and fill a composer
+ Reference< XDatabaseMetaData > xDestMetaData( m_xDestConnection->getMetaData(), UNO_QUERY_THROW );
- Reference< XMultiServiceFactory > xFactory( m_xSourceConnection, UNO_QUERY );
- ::utl::SharedUNOComponent< XSingleSelectQueryComposer > xComposer;
- if ( xFactory.is() )
- // note: connections below the sdb-level are allowed to not support the XMultiServiceFactory interface
- xComposer.set( xFactory->createInstance( SERVICE_NAME_SINGLESELECTQUERYCOMPOSER ), UNO_QUERY );
+ const OCopyTableWizard& rWizard = impl_getDialog_throw();
+ ODatabaseExport::TPositions aColumnMapping = rWizard.GetColumnPositions();
+ bool bAutoIncrement = rWizard.shouldCreatePrimaryKey();
- if ( xComposer.is() )
- {
- xComposer->setQuery( sQueryCommand );
+ Reference< XRow > xRow ( _rxSourceResultSet, UNO_QUERY_THROW );
+ Reference< XRowLocate > xRowLocate ( _rxSourceResultSet, UNO_QUERY );
- Reference< XParameters > xStatementParams( xStatement, UNO_QUERY );
- OSL_ENSURE( xStatementParams.is(), "CopyTableWizard::impl_createSourceStatement_throw: no access to the statement's parameters!" );
- // the statement should be a css.sdbc.PreparedStatement (this is what
- // we created), and a prepared statement is required to support XParameters
- if ( xStatementParams.is() )
- {
- OSL_ENSURE( m_xInteractionHandler.is(),
- "CopyTableWizard::impl_createSourceStatement_throw: no interaction handler for the parameters request!" );
- // we should always have an interaction handler - as last fallback, we create an own one in ::initialize
+ bool bSelectedRecordsOnly = m_aSourceSelection.getLength() > 0;
+ if ( bSelectedRecordsOnly && m_bSourceSelectionBookmarks && !xRowLocate.is() )
+ {
+ ::dbtools::throwGenericSQLException(
+ String( ModuleRes( STR_CTW_COPY_SOURCE_NEEDS_BOOKMARKS ) ),
+ *this
+ );
+ }
- if ( m_xInteractionHandler.is() )
- ::dbtools::askForParameters( xComposer, xStatementParams, m_xSourceConnection, m_xInteractionHandler );
- }
- }
- }
- break;
+ Reference< XResultSetMetaDataSupplier > xSuppResMeta( _rxSourceResultSet, UNO_QUERY_THROW );
+ Reference< XResultSetMetaData> xMeta( xSuppResMeta->getMetaData() );
- default:
- // this should not have survived initialization phase
- throw RuntimeException( ::rtl::OUString(), *const_cast< CopyTableWizard* >( this ) );
- }
+ // we need a vector which all types
+ sal_Int32 nCount = xMeta->getColumnCount();
+ ::std::vector< sal_Int32 > aSourceColTypes;
+ aSourceColTypes.reserve( nCount + 1 );
+ aSourceColTypes.push_back( -1 ); // just to avoid a everytime i-1 call
- return xStatement;
- }
+ for ( sal_Int32 k=1; k <= nCount; ++k )
+ aSourceColTypes.push_back( xMeta->getColumnType( k ) );
- //-------------------------------------------------------------------------
- namespace
- {
- class ValueTransfer
- {
- public:
- ValueTransfer( const sal_Int32& _rSourcePos, const sal_Int32& _rDestPos, const ::std::vector< sal_Int32 >& _rColTypes,
- const Reference< XRow >& _rxSource, const Reference< XParameters >& _rxDest )
- :m_rSourcePos( _rSourcePos )
- ,m_rDestPos( _rDestPos )
- ,m_rColTypes( _rColTypes )
- ,m_xSource( _rxSource )
- ,m_xDest( _rxDest )
- {
- }
+ // now create, fill and execute the prepared statement
+ Reference< XPreparedStatement > xStatement( ODatabaseExport::createPreparedStatment( xDestMetaData, _rxDestTable, aColumnMapping ), UNO_SET_THROW );
+ Reference< XParameters > xStatementParams( xStatement, UNO_QUERY_THROW );
- template< typename VALUE_TYPE >
- void transferValue( VALUE_TYPE ( SAL_CALL XRow::*_pGetter )( sal_Int32 ),
- void (SAL_CALL XParameters::*_pSetter)( sal_Int32, VALUE_TYPE ) )
- {
- VALUE_TYPE value( (m_xSource.get()->*_pGetter)( m_rSourcePos ) );
- if ( m_xSource->wasNull() )
- m_xDest->setNull( m_rDestPos, m_rColTypes[ m_rSourcePos ] );
- else
- (m_xDest.get()->*_pSetter)( m_rDestPos, value );
- }
+ sal_Int32 nRowCount = 0;
+ const Any* pSelectedRow = m_aSourceSelection.getConstArray();
+ const Any* pSelEnd = pSelectedRow + m_aSourceSelection.getLength();
+ bool bContinue = false;
- template< typename VALUE_TYPE >
- void transferComplexValue( VALUE_TYPE ( SAL_CALL XRow::*_pGetter )( sal_Int32 ),
- void (SAL_CALL XParameters::*_pSetter)( sal_Int32, const VALUE_TYPE& ) )
- {
- VALUE_TYPE value( (m_xSource.get()->*_pGetter)( m_rSourcePos ) );
- if ( m_xSource->wasNull() )
- m_xDest->setNull( m_rDestPos, m_rColTypes[ m_rSourcePos ] );
- else
- (m_xDest.get()->*_pSetter)( m_rDestPos, value );
- }
+ CopyTableRowEvent aCopyEvent;
+ aCopyEvent.Source = *this;
+ aCopyEvent.SourceData = _rxSourceResultSet;
- private:
- const sal_Int32& m_rSourcePos;
- const sal_Int32& m_rDestPos;
- const ::std::vector< sal_Int32 > m_rColTypes;
- const Reference< XRow > m_xSource;
- const Reference< XParameters > m_xDest;
- };
- }
-
- //-------------------------------------------------------------------------
- bool CopyTableWizard::impl_processCopyError_nothrow( const CopyTableRowEvent& _rEvent )
+ do // loop as long as there are more rows or the selection ends
{
- Reference< XCopyTableListener > xListener;
- try
+ bContinue = false;
+ if ( bSelectedRecordsOnly )
{
- ::cppu::OInterfaceIteratorHelper aIter( m_aCopyTableListeners );
- while ( aIter.hasMoreElements() )
+ if ( pSelectedRow != pSelEnd )
{
- xListener.set( aIter.next(), UNO_QUERY_THROW );
- sal_Int16 nListenerChoice = xListener->copyRowError( _rEvent );
- switch ( nListenerChoice )
+ if ( m_bSourceSelectionBookmarks )
{
- case CopyTableContinuation::Proceed: return true; // continue copying
- case CopyTableContinuation::CallNextHandler: continue; // continue the loop, ask next listener
- case CopyTableContinuation::Cancel: return false; // cancel copying
- case CopyTableContinuation::AskUser: break; // stop asking the listeners, ask the user
-
- default:
- OSL_ENSURE( false, "CopyTableWizard::impl_processCopyError_nothrow: invalid listener response!" );
- // ask next listener
- continue;
+ xRowLocate->moveToBookmark( *pSelectedRow );
}
+ else
+ {
+ sal_Int32 nPos = 0;
+ OSL_VERIFY( *pSelectedRow >>= nPos );
+ bContinue = _rxSourceResultSet->absolute( nPos );
+ }
+ ++pSelectedRow;
}
}
- catch( const Exception& )
- {
- DBG_UNHANDLED_EXCEPTION();
- }
+ else
+ bContinue = _rxSourceResultSet->next();
- // no listener felt responsible for the error, or a listener told to ask the user
+ if ( !bContinue )
+ break;
+ ++nRowCount;
+ sal_Bool bInsertAutoIncrement = sal_True;
+ ODatabaseExport::TPositions::const_iterator aPosIter = aColumnMapping.begin();
+
+ aCopyEvent.Error.clear();
try
{
- SQLContext aError;
- aError.Context = *this;
- aError.Message = String( ModuleRes( STR_ERROR_OCCURED_WHILE_COPYING ) );
-
- ::dbtools::SQLExceptionInfo aInfo( _rEvent.Error );
- if ( aInfo.isValid() )
- aError.NextException = _rEvent.Error;
- else
- {
- // a non-SQL exception happend
- Exception aException;
- OSL_VERIFY( _rEvent.Error >>= aException );
- SQLContext aContext;
- aContext.Context = aException.Context;
- aContext.Message = aException.Message;
- aContext.Details = _rEvent.Error.getValueTypeName();
- aError.NextException <<= aContext;
- }
+ // notify listeners
+ m_aCopyTableListeners.notifyEach( &XCopyTableListener::copyingRow, aCopyEvent );
- ::rtl::Reference< ::comphelper::OInteractionRequest > xRequest( new ::comphelper::OInteractionRequest( makeAny( aError ) ) );
+ sal_Int32 nDestColumn( 0 );
+ sal_Int32 nSourceColumn( 1 );
+ ValueTransfer aTransfer( nSourceColumn, nDestColumn, aSourceColTypes, xRow, xStatementParams );
- ::rtl::Reference< ::comphelper::OInteractionApprove > xYes = new ::comphelper::OInteractionApprove;
- xRequest->addContinuation( xYes.get() );
- xRequest->addContinuation( new ::comphelper::OInteractionDisapprove );
-
- OSL_ENSURE( m_xInteractionHandler.is(),
- "CopyTableWizard::impl_processCopyError_nothrow: we always should have an interaction handler!" );
- if ( m_xInteractionHandler.is() )
- m_xInteractionHandler->handle( xRequest.get() );
-
- if ( xYes->wasSelected() )
- // continue copying
- return true;
- }
- catch( const Exception& )
- {
- DBG_UNHANDLED_EXCEPTION();
- }
-
- // cancel copying
- return false;
- }
-
- //-------------------------------------------------------------------------
- void CopyTableWizard::impl_copyRows_throw( const Reference< XResultSet >& _rxSourceResultSet,
- const Reference< XPropertySet >& _rxDestTable )
- {
- OSL_PRECOND( m_xDestConnection.is(), "CopyTableWizard::impl_copyRows_throw: illegal call!" );
- if ( !m_xDestConnection.is() )
- throw RuntimeException( ::rtl::OUString(), *this );
-
- Reference< XDatabaseMetaData > xDestMetaData( m_xDestConnection->getMetaData(), UNO_QUERY_THROW );
+ for ( ; aPosIter != aColumnMapping.end(); ++aPosIter )
+ {
+ nDestColumn = aPosIter->first;
+ if ( nDestColumn == COLUMN_POSITION_NOT_FOUND )
+ {
+ ++nSourceColumn;
+ // otherwise we don't get the correct value when only the 2nd source column was selected
+ continue;
+ }
- const OCopyTableWizard& rWizard = impl_getDialog_throw();
- ODatabaseExport::TPositions aColumnMapping = rWizard.GetColumnPositions();
- bool bAutoIncrement = rWizard.shouldCreatePrimaryKey();
+ if ( bAutoIncrement && bInsertAutoIncrement )
+ {
+ xStatementParams->setInt( 1, nRowCount );
+ bInsertAutoIncrement = sal_False;
+ continue;
+ }
- Reference< XRow > xRow ( _rxSourceResultSet, UNO_QUERY_THROW );
- Reference< XRowLocate > xRowLocate ( _rxSourceResultSet, UNO_QUERY );
+ if ( ( nSourceColumn < 1 ) || ( nSourceColumn >= (sal_Int32)aSourceColTypes.size() ) )
+ { // ( we have to check here against 1 because the parameters are 1 based)
+ ::dbtools::throwSQLException(
+ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Internal error: invalid column type index." ) ),
+ ::dbtools::SQL_INVALID_DESCRIPTOR_INDEX,
+ *this
+ );
+ }
- bool bSelectedRecordsOnly = m_aSourceSelection.getLength() > 0;
- if ( bSelectedRecordsOnly && m_bSourceSelectionBookmarks && !xRowLocate.is() )
- {
- ::dbtools::throwGenericSQLException(
- String( ModuleRes( STR_CTW_COPY_SOURCE_NEEDS_BOOKMARKS ) ),
- *this
- );
- }
+ switch ( aSourceColTypes[ nSourceColumn ] )
+ {
+ case DataType::DOUBLE:
+ case DataType::REAL:
+ aTransfer.transferValue( &XRow::getDouble, &XParameters::setDouble );
+ break;
- Reference< XResultSetMetaDataSupplier > xSuppResMeta( _rxSourceResultSet, UNO_QUERY_THROW );
- Reference< XResultSetMetaData> xMeta( xSuppResMeta->getMetaData() );
+ case DataType::CHAR:
+ case DataType::VARCHAR:
+ case DataType::LONGVARCHAR:
+ case DataType::DECIMAL:
+ case DataType::NUMERIC:
+ aTransfer.transferComplexValue( &XRow::getString, &XParameters::setString );
+ break;
- // we need a vector which all types
- sal_Int32 nCount = xMeta->getColumnCount();
- ::std::vector< sal_Int32 > aSourceColTypes;
- aSourceColTypes.reserve( nCount + 1 );
- aSourceColTypes.push_back( -1 ); // just to avoid a everytime i-1 call
+ case DataType::BIGINT:
+ aTransfer.transferValue( &XRow::getLong, &XParameters::setLong );
+ break;
- for ( sal_Int32 k=1; k <= nCount; ++k )
- aSourceColTypes.push_back( xMeta->getColumnType( k ) );
+ case DataType::FLOAT:
+ aTransfer.transferValue( &XRow::getFloat, &XParameters::setFloat );
+ break;
- // now create, fill and execute the prepared statement
- Reference< XPreparedStatement > xStatement( ODatabaseExport::createPreparedStatment( xDestMetaData, _rxDestTable, aColumnMapping ), UNO_SET_THROW );
- Reference< XParameters > xStatementParams( xStatement, UNO_QUERY_THROW );
+ case DataType::LONGVARBINARY:
+ case DataType::BINARY:
+ case DataType::VARBINARY:
+ aTransfer.transferComplexValue( &XRow::getBytes, &XParameters::setBytes );
+ break;
- sal_Int32 nRowCount = 0;
- const Any* pSelectedRow = m_aSourceSelection.getConstArray();
- const Any* pSelEnd = pSelectedRow + m_aSourceSelection.getLength();
- bool bContinue = false;
+ case DataType::DATE:
+ aTransfer.transferComplexValue( &XRow::getDate, &XParameters::setDate );
+ break;
- CopyTableRowEvent aCopyEvent;
- aCopyEvent.Source = *this;
- aCopyEvent.SourceData = _rxSourceResultSet;
+ case DataType::TIME:
+ aTransfer.transferComplexValue( &XRow::getTime, &XParameters::setTime );
+ break;
- do // loop as long as there are more rows or the selection ends
- {
- bContinue = false;
- if ( bSelectedRecordsOnly )
- {
- if ( pSelectedRow != pSelEnd )
- {
- if ( m_bSourceSelectionBookmarks )
- {
- xRowLocate->moveToBookmark( *pSelectedRow );
- }
- else
- {
- sal_Int32 nPos = 0;
- OSL_VERIFY( *pSelectedRow >>= nPos );
- bContinue = _rxSourceResultSet->absolute( nPos );
- }
- ++pSelectedRow;
- }
- }
- else
- bContinue = _rxSourceResultSet->next();
+ case DataType::TIMESTAMP:
+ aTransfer.transferComplexValue( &XRow::getTimestamp, &XParameters::setTimestamp );
+ break;
- if ( !bContinue )
- break;
+ case DataType::BIT:
+ case DataType::BOOLEAN:
+ aTransfer.transferValue( &XRow::getBoolean, &XParameters::setBoolean );
+ break;
- ++nRowCount;
- sal_Bool bInsertAutoIncrement = sal_True;
- ODatabaseExport::TPositions::const_iterator aPosIter = aColumnMapping.begin();
+ case DataType::TINYINT:
+ aTransfer.transferValue( &XRow::getByte, &XParameters::setByte );
+ break;
- aCopyEvent.Error.clear();
- try
- {
- // notify listeners
- m_aCopyTableListeners.notifyEach( &XCopyTableListener::copyingRow, aCopyEvent );
+ case DataType::SMALLINT:
+ aTransfer.transferValue( &XRow::getShort, &XParameters::setShort );
+ break;
- sal_Int32 nDestColumn( 0 );
- sal_Int32 nSourceColumn( 1 );
- ValueTransfer aTransfer( nSourceColumn, nDestColumn, aSourceColTypes, xRow, xStatementParams );
+ case DataType::INTEGER:
+ aTransfer.transferValue( &XRow::getInt, &XParameters::setInt );
+ break;
- for ( ; aPosIter != aColumnMapping.end(); ++aPosIter )
- {
- nDestColumn = aPosIter->first;
- if ( nDestColumn == COLUMN_POSITION_NOT_FOUND )
+ default:
{
- ++nSourceColumn;
- // otherwise we don't get the correct value when only the 2nd source column was selected
- continue;
- }
+ ::rtl::OUString aMessage( String( ModuleRes( STR_CTW_UNSUPPORTED_COLUMN_TYPE ) ) );
- if ( bAutoIncrement && bInsertAutoIncrement )
- {
- xStatementParams->setInt( 1, nRowCount );
- bInsertAutoIncrement = sal_False;
- continue;
- }
+ aMessage.replaceAt( aMessage.indexOfAsciiL( "$type$", 6 ), 6, ::rtl::OUString::valueOf( aSourceColTypes[ nSourceColumn ] ) );
+ aMessage.replaceAt( aMessage.indexOfAsciiL( "$pos$", 5 ), 5, ::rtl::OUString::valueOf( nSourceColumn ) );
- if ( ( nSourceColumn < 1 ) || ( nSourceColumn >= (sal_Int32)aSourceColTypes.size() ) )
- { // ( we have to check here against 1 because the parameters are 1 based)
::dbtools::throwSQLException(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Internal error: invalid column type index." ) ),
- ::dbtools::SQL_INVALID_DESCRIPTOR_INDEX,
+ aMessage,
+ ::dbtools::SQL_INVALID_SQL_DATA_TYPE,
*this
);
}
-
- switch ( aSourceColTypes[ nSourceColumn ] )
- {
- case DataType::DOUBLE:
- case DataType::REAL:
- aTransfer.transferValue( &XRow::getDouble, &XParameters::setDouble );
- break;
-
- case DataType::CHAR:
- case DataType::VARCHAR:
- case DataType::LONGVARCHAR:
- case DataType::DECIMAL:
- case DataType::NUMERIC:
- aTransfer.transferComplexValue( &XRow::getString, &XParameters::setString );
- break;
-
- case DataType::BIGINT:
- aTransfer.transferValue( &XRow::getLong, &XParameters::setLong );
- break;
-
- case DataType::FLOAT:
- aTransfer.transferValue( &XRow::getFloat, &XParameters::setFloat );
- break;
-
- case DataType::LONGVARBINARY:
- case DataType::BINARY:
- case DataType::VARBINARY:
- aTransfer.transferComplexValue( &XRow::getBytes, &XParameters::setBytes );
- break;
-
- case DataType::DATE:
- aTransfer.transferComplexValue( &XRow::getDate, &XParameters::setDate );
- break;
-
- case DataType::TIME:
- aTransfer.transferComplexValue( &XRow::getTime, &XParameters::setTime );
- break;
-
- case DataType::TIMESTAMP:
- aTransfer.transferComplexValue( &XRow::getTimestamp, &XParameters::setTimestamp );
- break;
-
- case DataType::BIT:
- case DataType::BOOLEAN:
- aTransfer.transferValue( &XRow::getBoolean, &XParameters::setBoolean );
- break;
-
- case DataType::TINYINT:
- aTransfer.transferValue( &XRow::getByte, &XParameters::setByte );
- break;
-
- case DataType::SMALLINT:
- aTransfer.transferValue( &XRow::getShort, &XParameters::setShort );
- break;
-
- case DataType::INTEGER:
- aTransfer.transferValue( &XRow::getInt, &XParameters::setInt );
- break;
-
- default:
- {
- ::rtl::OUString aMessage( String( ModuleRes( STR_CTW_UNSUPPORTED_COLUMN_TYPE ) ) );
-
- aMessage.replaceAt( aMessage.indexOfAsciiL( "$type$", 6 ), 6, ::rtl::OUString::valueOf( aSourceColTypes[ nSourceColumn ] ) );
- aMessage.replaceAt( aMessage.indexOfAsciiL( "$pos$", 5 ), 5, ::rtl::OUString::valueOf( nSourceColumn ) );
-
- ::dbtools::throwSQLException(
- aMessage,
- ::dbtools::SQL_INVALID_SQL_DATA_TYPE,
- *this
- );
- }
- }
- ++nSourceColumn;
}
- xStatement->executeUpdate();
-
- // notify listeners
- m_aCopyTableListeners.notifyEach( &XCopyTableListener::copiedRow, aCopyEvent );
- }
- catch( const Exception& )
- {
- aCopyEvent.Error = ::cppu::getCaughtException();
+ ++nSourceColumn;
}
+ xStatement->executeUpdate();
- if ( aCopyEvent.Error.hasValue() )
- bContinue = impl_processCopyError_nothrow( aCopyEvent );
+ // notify listeners
+ m_aCopyTableListeners.notifyEach( &XCopyTableListener::copiedRow, aCopyEvent );
}
- while( bContinue );
+ catch( const Exception& )
+ {
+ aCopyEvent.Error = ::cppu::getCaughtException();
+ }
+
+ if ( aCopyEvent.Error.hasValue() )
+ bContinue = impl_processCopyError_nothrow( aCopyEvent );
}
- //-------------------------------------------------------------------------
- void CopyTableWizard::impl_doCopy_nothrow()
+ while( bContinue );
+}
+//-------------------------------------------------------------------------
+void CopyTableWizard::impl_doCopy_nothrow()
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::impl_doCopy_nothrow" );
+ Any aError;
+
+ try
{
- Any aError;
+ OCopyTableWizard& rWizard( impl_getDialog_throw() );
- try
+ WaitObject aWO( rWizard.GetParent() );
+ Reference< XPropertySet > xTable;
+
+ switch ( rWizard.getOperation() )
{
- OCopyTableWizard& rWizard( impl_getDialog_throw() );
+ case CopyTableOperation::CopyDefinitionOnly:
+ case CopyTableOperation::CopyDefinitionAndData:
+ {
+ xTable = rWizard.createTable();
- WaitObject aWO( rWizard.GetParent() );
- Reference< XPropertySet > xTable;
+ if( !xTable.is() )
+ {
+ OSL_ENSURE( false, "CopyTableWizard::impl_doCopy_nothrow: createTable should throw here, shouldn't it?" );
+ break;
+ }
+
+ if( CopyTableOperation::CopyDefinitionOnly == rWizard.getOperation() )
+ break;
+ }
+ // run through
- switch ( rWizard.getOperation() )
+ case CopyTableOperation::AppendData:
{
- case CopyTableOperation::CopyDefinitionOnly:
- case CopyTableOperation::CopyDefinitionAndData:
+
+ if ( !xTable.is() )
{
xTable = rWizard.createTable();
-
- if( !xTable.is() )
+ if ( !xTable.is() )
{
OSL_ENSURE( false, "CopyTableWizard::impl_doCopy_nothrow: createTable should throw here, shouldn't it?" );
break;
}
-
- if( CopyTableOperation::CopyDefinitionOnly == rWizard.getOperation() )
- break;
}
- // run through
- case CopyTableOperation::AppendData:
+ bool bServerCopy = CommandType::TABLE == m_nCommandType && m_xSourceConnection.getTyped() == m_xDestConnection.getTyped() && !m_aSourceSelection.getLength();
+ try
{
-
- if ( !xTable.is() )
+ if ( bServerCopy )
{
- xTable = rWizard.createTable();
- if ( !xTable.is() )
- {
- OSL_ENSURE( false, "CopyTableWizard::impl_doCopy_nothrow: createTable should throw here, shouldn't it?" );
- break;
- }
+ m_xDestConnection->createStatement()->executeUpdate( impl_getSelectStatement_nothrow(xTable) );
}
+ }
+ catch( const Exception& e )
+ {
+ (void)e;
+ bServerCopy = false;
+ }
+ if ( !bServerCopy )
+ {
::utl::SharedUNOComponent< XPreparedStatement > xStatement( impl_createSourceStatement_throw(), UNO_SET_THROW );
Reference< XResultSet > xSourceResultSet( xStatement->executeQuery() );
impl_copyRows_throw( xSourceResultSet, xTable );
}
- break;
-
- case CopyTableOperation::CreateAsView:
- rWizard.createView();
- break;
-
- default:
- OSL_ENSURE( false, "CopyTableWizard::impl_doCopy_nothrow: What operation, please?" );
- break;
}
- }
- catch( const Exception& )
- {
- aError = ::cppu::getCaughtException();
+ break;
- // silence the error of the user cancelling the parameter's dialog
- SQLException aSQLError;
- if ( ( aError >>= aSQLError ) && ( aSQLError.ErrorCode == ::dbtools::ParameterInteractionCancelled ) )
- {
- aError.clear();
- m_nOverrideExecutionResult = RET_CANCEL;
- }
+ case CopyTableOperation::CreateAsView:
+ rWizard.createView();
+ break;
+
+ default:
+ OSL_ENSURE( false, "CopyTableWizard::impl_doCopy_nothrow: What operation, please?" );
+ break;
}
+ }
+ catch( const Exception& )
+ {
+ aError = ::cppu::getCaughtException();
- if ( aError.hasValue() && m_xInteractionHandler.is() )
+ // silence the error of the user cancelling the parameter's dialog
+ SQLException aSQLError;
+ if ( ( aError >>= aSQLError ) && ( aSQLError.ErrorCode == ::dbtools::ParameterInteractionCancelled ) )
{
- try
- {
- ::rtl::Reference< ::comphelper::OInteractionRequest > xRequest( new ::comphelper::OInteractionRequest( aError ) );
- m_xInteractionHandler->handle( xRequest.get() );
- }
- catch( const Exception& )
- {
- DBG_UNHANDLED_EXCEPTION();
- }
+ aError.clear();
+ m_nOverrideExecutionResult = RET_CANCEL;
}
}
- //-------------------------------------------------------------------------
- void SAL_CALL CopyTableWizard::initialize( const Sequence< Any >& _rArguments ) throw (Exception, RuntimeException)
+ if ( aError.hasValue() && m_xInteractionHandler.is() )
{
- ::osl::MutexGuard aGuard( m_aMutex );
- if ( isInitialized() )
- throw AlreadyInitializedException( ::rtl::OUString(), *this );
-
- sal_Int32 nArgCount( _rArguments.getLength() );
- if ( ( nArgCount != 2 ) && ( nArgCount != 3 ) )
- throw IllegalArgumentException(
- String( ModuleRes( STR_CTW_ILLEGAL_PARAMETER_COUNT ) ),
- *this,
- 1
- );
-
try
{
- if ( nArgCount == 3 )
- { // ->createWithInteractionHandler
- if ( !( _rArguments[2] >>= m_xInteractionHandler ) )
- throw IllegalArgumentException(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "The given interaction handler is invalid." ) ),
- // TODO: resource
- *this,
- 3
- );
- }
- if ( !m_xInteractionHandler.is() )
- m_xInteractionHandler.set( m_aContext.createComponent( "com.sun.star.sdb.InteractionHandler" ), UNO_QUERY_THROW );
-
- InteractionHandler xSourceDocHandler;
- Reference< XPropertySet > xSourceDescriptor( impl_ensureDataAccessDescriptor_throw( _rArguments, 0, m_xSourceConnection, xSourceDocHandler ) );
- m_pSourceObject = impl_extractSourceObject_throw( xSourceDescriptor, m_nCommandType );
-
- InteractionHandler xDestDocHandler;
- impl_ensureDataAccessDescriptor_throw( _rArguments, 1, m_xDestConnection, xDestDocHandler );
-
- if ( xDestDocHandler.is() && !m_xInteractionHandler.is() )
- m_xInteractionHandler = xDestDocHandler;
+ ::rtl::Reference< ::comphelper::OInteractionRequest > xRequest( new ::comphelper::OInteractionRequest( aError ) );
+ m_xInteractionHandler->handle( xRequest.get() );
}
- catch( const RuntimeException& ) { throw; }
- catch( const IllegalArgumentException& ) { throw; }
- catch( const SQLException& ) { throw; }
catch( const Exception& )
{
- throw WrappedTargetException(
- String( ModuleRes( STR_CTW_ERROR_DURING_INITIALIZATION ) ),
- *this,
- ::cppu::getCaughtException()
- );
+ DBG_UNHANDLED_EXCEPTION();
}
}
-
- //-------------------------------------------------------------------------
- ::cppu::IPropertyArrayHelper& CopyTableWizard::getInfoHelper()
+}
+// -----------------------------------------------------------------------------
+::rtl::OUString CopyTableWizard::impl_getSelectStatement_nothrow(const Reference< XPropertySet >& _xTable)
+{
+ const Reference<XColumnsSupplier> xDestColsSup(_xTable,UNO_QUERY_THROW);
+ const Sequence< ::rtl::OUString> aDestColumnNames = xDestColsSup->getColumns()->getElementNames();
+ const Sequence< ::rtl::OUString > aColumnNames = m_pSourceObject->getColumnNames();
+ const Reference< XDatabaseMetaData > xDestMetaData( m_xDestConnection->getMetaData(), UNO_QUERY_THROW );
+ const ::rtl::OUString sQuote = xDestMetaData->getIdentifierQuoteString();
+ ::rtl::OUStringBuffer sColumns;
+ // 1st check if the columns matching
+ const OCopyTableWizard& rWizard = impl_getDialog_throw();
+ ODatabaseExport::TPositions aColumnMapping = rWizard.GetColumnPositions();
+ ODatabaseExport::TPositions::const_iterator aPosIter = aColumnMapping.begin();
+ for ( sal_Int32 i = 0; aPosIter != aColumnMapping.end() ; ++aPosIter,++i )
{
- return *getArrayHelper();
- }
+ if ( COLUMN_POSITION_NOT_FOUND != aPosIter->second )
+ {
+ if ( sColumns.getLength() )
+ sColumns.appendAscii(",");
+ sColumns.append(sQuote);
+ sColumns.append(aDestColumnNames[aPosIter->second - 1]);
+ sColumns.append(sQuote);
+ }
+ } // for ( ; aPosIter != aColumnMapping.end() ; ++aPosIter )
+ ::rtl::OUStringBuffer sSql;
+ sSql.appendAscii("INSERT INTO ");
+ const ::rtl::OUString sComposedTableName = ::dbtools::composeTableName( xDestMetaData, _xTable, ::dbtools::eInDataManipulation, false, false, true );
+ sSql.append( sComposedTableName );
+ sSql.appendAscii(" ( ");
+ sSql.append( sColumns );
+ sSql.appendAscii(" ) ( ");
+ sSql.append( m_pSourceObject->getSelectStatement());
+ sSql.appendAscii(" )");
+
+ return sSql.makeStringAndClear();
+}
+//-------------------------------------------------------------------------
+void SAL_CALL CopyTableWizard::initialize( const Sequence< Any >& _rArguments ) throw (Exception, RuntimeException)
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::initialize" );
+ ::osl::MutexGuard aGuard( m_aMutex );
+ if ( isInitialized() )
+ throw AlreadyInitializedException( ::rtl::OUString(), *this );
+
+ sal_Int32 nArgCount( _rArguments.getLength() );
+ if ( ( nArgCount != 2 ) && ( nArgCount != 3 ) )
+ throw IllegalArgumentException(
+ String( ModuleRes( STR_CTW_ILLEGAL_PARAMETER_COUNT ) ),
+ *this,
+ 1
+ );
- //------------------------------------------------------------------------------
- ::cppu::IPropertyArrayHelper* CopyTableWizard::createArrayHelper( ) const
+ try
{
- Sequence< Property > aProps;
- describeProperties( aProps );
- return new ::cppu::OPropertyArrayHelper( aProps );
- }
+ if ( nArgCount == 3 )
+ { // ->createWithInteractionHandler
+ if ( !( _rArguments[2] >>= m_xInteractionHandler ) )
+ throw IllegalArgumentException(
+ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "The given interaction handler is invalid." ) ),
+ // TODO: resource
+ *this,
+ 3
+ );
+ }
+ if ( !m_xInteractionHandler.is() )
+ m_xInteractionHandler.set( m_aContext.createComponent( "com.sun.star.sdb.InteractionHandler" ), UNO_QUERY_THROW );
- //------------------------------------------------------------------------------
- Dialog* CopyTableWizard::createDialog( Window* _pParent )
+ InteractionHandler xSourceDocHandler;
+ Reference< XPropertySet > xSourceDescriptor( impl_ensureDataAccessDescriptor_throw( _rArguments, 0, m_xSourceConnection, xSourceDocHandler ) );
+ m_pSourceObject = impl_extractSourceObject_throw( xSourceDescriptor, m_nCommandType );
+
+ InteractionHandler xDestDocHandler;
+ impl_ensureDataAccessDescriptor_throw( _rArguments, 1, m_xDestConnection, xDestDocHandler );
+
+ if ( xDestDocHandler.is() && !m_xInteractionHandler.is() )
+ m_xInteractionHandler = xDestDocHandler;
+ }
+ catch( const RuntimeException& ) { throw; }
+ catch( const IllegalArgumentException& ) { throw; }
+ catch( const SQLException& ) { throw; }
+ catch( const Exception& )
{
- OSL_PRECOND( isInitialized(), "CopyTableWizard::createDialog: not initialized!" );
- // this should have been prevented in ::execute already
-
- OCopyTableWizard* pWizard = new OCopyTableWizard(
- _pParent,
- m_sDestinationTable,
- m_nOperation,
- *m_pSourceObject,
- m_xSourceConnection.getTyped(),
- m_xDestConnection.getTyped(),
- m_aContext.getLegacyServiceFactory()
+ throw WrappedTargetException(
+ String( ModuleRes( STR_CTW_ERROR_DURING_INITIALIZATION ) ),
+ *this,
+ ::cppu::getCaughtException()
);
+ }
+}
- impl_attributesToDialog_nothrow( *pWizard );
+//-------------------------------------------------------------------------
+::cppu::IPropertyArrayHelper& CopyTableWizard::getInfoHelper()
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::getInfoHelper" );
+ return *getArrayHelper();
+}
- return pWizard;
- }
+//------------------------------------------------------------------------------
+::cppu::IPropertyArrayHelper* CopyTableWizard::createArrayHelper( ) const
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::createArrayHelper" );
+ Sequence< Property > aProps;
+ describeProperties( aProps );
+ return new ::cppu::OPropertyArrayHelper( aProps );
+}
- //------------------------------------------------------------------------------
- void CopyTableWizard::executedDialog( sal_Int16 _nExecutionResult )
- {
- CopyTableWizard_DialogBase::executedDialog( _nExecutionResult );
+//------------------------------------------------------------------------------
+Dialog* CopyTableWizard::createDialog( Window* _pParent )
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::createDialog" );
+ OSL_PRECOND( isInitialized(), "CopyTableWizard::createDialog: not initialized!" );
+ // this should have been prevented in ::execute already
+
+ OCopyTableWizard* pWizard = new OCopyTableWizard(
+ _pParent,
+ m_sDestinationTable,
+ m_nOperation,
+ *m_pSourceObject,
+ m_xSourceConnection.getTyped(),
+ m_xDestConnection.getTyped(),
+ m_aContext.getLegacyServiceFactory()
+ );
+
+ impl_attributesToDialog_nothrow( *pWizard );
+
+ return pWizard;
+}
- if ( _nExecutionResult == RET_OK )
- impl_doCopy_nothrow();
+//------------------------------------------------------------------------------
+void CopyTableWizard::executedDialog( sal_Int16 _nExecutionResult )
+{
+ RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "uno", "Ocke.Janssen@sun.com", "CopyTableWizard::executedDialog" );
+ CopyTableWizard_DialogBase::executedDialog( _nExecutionResult );
- // do this after impl_doCopy_nothrow: The attributes may change during copying, for instance
- // if the user entered an unqualified table name
- impl_dialogToAttributes_nothrow( impl_getDialog_throw() );
- }
+ if ( _nExecutionResult == RET_OK )
+ impl_doCopy_nothrow();
+
+ // do this after impl_doCopy_nothrow: The attributes may change during copying, for instance
+ // if the user entered an unqualified table name
+ impl_dialogToAttributes_nothrow( impl_getDialog_throw() );
+}
//........................................................................
} // namespace dbaui