unodatbr.cxx (e9faf1d9) | unodatbr.cxx (1636bfc2) |
---|---|
1/************************************************************** | 1/************************************************************** |
2 * | 2 * |
3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at | 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at |
10 * | 10 * |
11 * http://www.apache.org/licenses/LICENSE-2.0 | 11 * http://www.apache.org/licenses/LICENSE-2.0 |
12 * | 12 * |
13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. | 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. |
19 * | 19 * |
20 *************************************************************/ 21 22 23 24// MARKER(update_precomp.py): autogen include statement, do not remove 25#include "precompiled_dbui.hxx" 26 27#include "browserids.hxx" --- 280 unchanged lines hidden (view full) --- 308 } 309 return pId->getImplementationId(); 310} 311 312//------------------------------------------------------------------------------ 313void SAL_CALL SbaTableQueryBrowser::disposing() 314{ 315 ::vos::OGuard aGuard(Application::GetSolarMutex()); | 20 *************************************************************/ 21 22 23 24// MARKER(update_precomp.py): autogen include statement, do not remove 25#include "precompiled_dbui.hxx" 26 27#include "browserids.hxx" --- 280 unchanged lines hidden (view full) --- 308 } 309 return pId->getImplementationId(); 310} 311 312//------------------------------------------------------------------------------ 313void SAL_CALL SbaTableQueryBrowser::disposing() 314{ 315 ::vos::OGuard aGuard(Application::GetSolarMutex()); |
316 // doin' a lot of VCL stuff here -> lock the SolarMutex | 316 // doing a lot of VCL stuff here -> lock the SolarMutex |
317 318 // kiss our listeners goodbye | 317 318 // kiss our listeners goodbye |
319 | 319 |
320 ::com::sun::star::lang::EventObject aEvt(*this); 321 m_aSelectionListeners.disposeAndClear(aEvt); 322 m_aContextMenuInterceptors.disposeAndClear(aEvt); 323 324 // reset the content's tree view: it holds a reference to our model which is to be deleted immediately, 325 // and it will live longer than we do. 326 if (getBrowserView()) 327 getBrowserView()->setTreeView(NULL); --- 186 unchanged lines hidden (view full) --- 514 // TODO: there's no API at all for this. The method which comes nearest to what we need is 515 // "getStructuredFilter", but it returns pure column names only. That is, for a statement like 516 // "SELECT * FROM <table> WHERE <other_table>.<column> = <value>", it will return "<column>". But 517 // there's no API at all to retrieve the information about "<other_table>" - which is what would 518 // be needed here. 519 // That'd be a chance to replace getStructuredFilter with something more reasonable. This method 520 // has at least one other problem: For a clause like "<column> != <value>", it will return "<column>" 521 // as column name, "NOT_EQUAL" as operator, and "!= <value>" as value, effectively duplicating the | 320 ::com::sun::star::lang::EventObject aEvt(*this); 321 m_aSelectionListeners.disposeAndClear(aEvt); 322 m_aContextMenuInterceptors.disposeAndClear(aEvt); 323 324 // reset the content's tree view: it holds a reference to our model which is to be deleted immediately, 325 // and it will live longer than we do. 326 if (getBrowserView()) 327 getBrowserView()->setTreeView(NULL); --- 186 unchanged lines hidden (view full) --- 514 // TODO: there's no API at all for this. The method which comes nearest to what we need is 515 // "getStructuredFilter", but it returns pure column names only. That is, for a statement like 516 // "SELECT * FROM <table> WHERE <other_table>.<column> = <value>", it will return "<column>". But 517 // there's no API at all to retrieve the information about "<other_table>" - which is what would 518 // be needed here. 519 // That'd be a chance to replace getStructuredFilter with something more reasonable. This method 520 // has at least one other problem: For a clause like "<column> != <value>", it will return "<column>" 521 // as column name, "NOT_EQUAL" as operator, and "!= <value>" as value, effectively duplicating the |
522 // information about the operator, and beding all clients to manually remove the "!=" from the value | 522 // information about the operator, and begging all clients to manually remove the "!=" from the value |
523 // string. | 523 // string. |
524 // So, what really would be handy, is some | 524 // So, what really would be handy, is some |
525 // XNormalizedFilter getNormalizedFilter(); 526 // with 527 // interface XDisjunctiveFilterExpression 528 // { 529 // XConjunctiveFilterTerm getTerm( int index ); 530 // } 531 // interface XConjunctiveFilterTerm 532 // { --- 283 unchanged lines hidden (view full) --- 816 // help text to display for the column 817 Any aDescription; 818 if ( xColPSI->hasPropertyByName( PROPERTY_HELPTEXT ) ) 819 aDescription = xColumn->getPropertyValue( PROPERTY_HELPTEXT ); 820 ::rtl::OUString sTemp; 821 aDescription >>= sTemp; 822 if ( !sTemp.getLength() ) 823 xColumn->getPropertyValue( PROPERTY_DESCRIPTION ) >>= sTemp; | 525 // XNormalizedFilter getNormalizedFilter(); 526 // with 527 // interface XDisjunctiveFilterExpression 528 // { 529 // XConjunctiveFilterTerm getTerm( int index ); 530 // } 531 // interface XConjunctiveFilterTerm 532 // { --- 283 unchanged lines hidden (view full) --- 816 // help text to display for the column 817 Any aDescription; 818 if ( xColPSI->hasPropertyByName( PROPERTY_HELPTEXT ) ) 819 aDescription = xColumn->getPropertyValue( PROPERTY_HELPTEXT ); 820 ::rtl::OUString sTemp; 821 aDescription >>= sTemp; 822 if ( !sTemp.getLength() ) 823 xColumn->getPropertyValue( PROPERTY_DESCRIPTION ) >>= sTemp; |
824 | 824 |
825 aDescription <<= sTemp; 826 aInitialValues.push_back( NamedValue( PROPERTY_HELPTEXT, aDescription ) ); 827 828 // ... horizontal justify 829 Any aAlign; aAlign <<= sal_Int16( 0 ); 830 Any aColAlign( xColumn->getPropertyValue( PROPERTY_ALIGN ) ); 831 if ( aColAlign.hasValue() ) 832 aAlign <<= sal_Int16( ::comphelper::getINT32( aColAlign ) ); --- 589 unchanged lines hidden (view full) --- 1422 ++aNext; 1423 1424 // remove it 1425 m_aExternalFeatures.erase( aLoop ); 1426 1427 // maybe update the UI 1428 implCheckExternalSlot( nSlotId ); 1429 | 825 aDescription <<= sTemp; 826 aInitialValues.push_back( NamedValue( PROPERTY_HELPTEXT, aDescription ) ); 827 828 // ... horizontal justify 829 Any aAlign; aAlign <<= sal_Int16( 0 ); 830 Any aColAlign( xColumn->getPropertyValue( PROPERTY_ALIGN ) ); 831 if ( aColAlign.hasValue() ) 832 aAlign <<= sal_Int16( ::comphelper::getINT32( aColAlign ) ); --- 589 unchanged lines hidden (view full) --- 1422 ++aNext; 1423 1424 // remove it 1425 m_aExternalFeatures.erase( aLoop ); 1426 1427 // maybe update the UI 1428 implCheckExternalSlot( nSlotId ); 1429 |
1430 // continue, the same XDispatch may be resposible for more than one URL | 1430 // continue, the same XDispatch may be responsible for more than one URL |
1431 aLoop = aNext; 1432 } 1433 } 1434 else 1435 { 1436 Reference<XConnection> xCon(_rSource.Source, UNO_QUERY); 1437 if ( xCon.is() && m_pTreeView ) 1438 { // our connection is in dispose so we have to find the entry equal with this connection 1439 // and close it what means to collapse the entry 1440 // get the top-level representing the removed data source 1441 SvLBoxEntry* pDSLoop = m_pTreeView->getListBox().FirstChild(NULL); 1442 while (pDSLoop) 1443 { 1444 DBTreeListUserData* pData = static_cast<DBTreeListUserData*>(pDSLoop->GetUserData()); 1445 if ( pData && pData->xConnection == xCon ) 1446 { | 1431 aLoop = aNext; 1432 } 1433 } 1434 else 1435 { 1436 Reference<XConnection> xCon(_rSource.Source, UNO_QUERY); 1437 if ( xCon.is() && m_pTreeView ) 1438 { // our connection is in dispose so we have to find the entry equal with this connection 1439 // and close it what means to collapse the entry 1440 // get the top-level representing the removed data source 1441 SvLBoxEntry* pDSLoop = m_pTreeView->getListBox().FirstChild(NULL); 1442 while (pDSLoop) 1443 { 1444 DBTreeListUserData* pData = static_cast<DBTreeListUserData*>(pDSLoop->GetUserData()); 1445 if ( pData && pData->xConnection == xCon ) 1446 { |
1447 // we set the conenction to null to avoid a second disposing of the connection | 1447 // we set the connection to null to avoid a second disposing of the connection |
1448 pData->xConnection.clear(); 1449 closeConnection(pDSLoop,sal_False); 1450 break; 1451 } 1452 1453 pDSLoop = m_pTreeView->getListBox().NextSibling(pDSLoop); 1454 } 1455 } --- 26 unchanged lines hidden (view full) --- 1482 } 1483 m_aExternalFeatures.clear(); 1484} 1485 1486// ------------------------------------------------------------------------- 1487sal_Bool SAL_CALL SbaTableQueryBrowser::select( const Any& _rSelection ) throw (IllegalArgumentException, RuntimeException) 1488{ 1489 ::vos::OGuard aGuard(Application::GetSolarMutex()); | 1448 pData->xConnection.clear(); 1449 closeConnection(pDSLoop,sal_False); 1450 break; 1451 } 1452 1453 pDSLoop = m_pTreeView->getListBox().NextSibling(pDSLoop); 1454 } 1455 } --- 26 unchanged lines hidden (view full) --- 1482 } 1483 m_aExternalFeatures.clear(); 1484} 1485 1486// ------------------------------------------------------------------------- 1487sal_Bool SAL_CALL SbaTableQueryBrowser::select( const Any& _rSelection ) throw (IllegalArgumentException, RuntimeException) 1488{ 1489 ::vos::OGuard aGuard(Application::GetSolarMutex()); |
1490 // doin' a lot of VCL stuff here -> lock the SolarMutex | 1490 // doing a lot of VCL stuff here -> lock the SolarMutex |
1491 1492 Sequence< PropertyValue > aDescriptorSequence; 1493 if (!(_rSelection >>= aDescriptorSequence)) 1494 throw IllegalArgumentException(::rtl::OUString(), *this, 1); 1495 // TODO: error message 1496 1497 ODataAccessDescriptor aDescriptor; 1498 try 1499 { 1500 aDescriptor = ODataAccessDescriptor(aDescriptorSequence); 1501 } 1502 catch(const Exception&) 1503 { 1504 OSL_ENSURE(sal_False, "SbaTableQueryBrowser::select: could not extract the descriptor!"); 1505 } 1506 | 1491 1492 Sequence< PropertyValue > aDescriptorSequence; 1493 if (!(_rSelection >>= aDescriptorSequence)) 1494 throw IllegalArgumentException(::rtl::OUString(), *this, 1); 1495 // TODO: error message 1496 1497 ODataAccessDescriptor aDescriptor; 1498 try 1499 { 1500 aDescriptor = ODataAccessDescriptor(aDescriptorSequence); 1501 } 1502 catch(const Exception&) 1503 { 1504 OSL_ENSURE(sal_False, "SbaTableQueryBrowser::select: could not extract the descriptor!"); 1505 } 1506 |
1507 // check the precense of the props we need | 1507 // check the presence of the props we need |
1508 if ( !(aDescriptor.has(daDataSource) || aDescriptor.has(daDatabaseLocation)) || !aDescriptor.has(daCommand) || !aDescriptor.has(daCommandType)) 1509 throw IllegalArgumentException(::rtl::OUString(), *this, 1); 1510 // TODO: error message 1511 1512 return implSelect(aDescriptor,sal_True); 1513} 1514 1515// ------------------------------------------------------------------------- --- 742 unchanged lines hidden (view full) --- 2258 try 2259 { 2260 Reference< XWarningsSupplier > xWarnings(xConnection, UNO_QUERY); 2261 if (xWarnings.is()) 2262 xWarnings->clearWarnings(); 2263 2264 // first insert the views because the tables can also include 2265 // views but that time the bitmap is the wrong one | 1508 if ( !(aDescriptor.has(daDataSource) || aDescriptor.has(daDatabaseLocation)) || !aDescriptor.has(daCommand) || !aDescriptor.has(daCommandType)) 1509 throw IllegalArgumentException(::rtl::OUString(), *this, 1); 1510 // TODO: error message 1511 1512 return implSelect(aDescriptor,sal_True); 1513} 1514 1515// ------------------------------------------------------------------------- --- 742 unchanged lines hidden (view full) --- 2258 try 2259 { 2260 Reference< XWarningsSupplier > xWarnings(xConnection, UNO_QUERY); 2261 if (xWarnings.is()) 2262 xWarnings->clearWarnings(); 2263 2264 // first insert the views because the tables can also include 2265 // views but that time the bitmap is the wrong one |
2266 // the nameaccess will be overwriten in populateTree | 2266 // the nameaccess will be overwritten in populateTree |
2267 Reference<XViewsSupplier> xViewSup(xConnection,UNO_QUERY); 2268 if(xViewSup.is()) 2269 populateTree( xViewSup->getViews(), _pParent, etTableOrView ); 2270 2271 Reference<XTablesSupplier> xTabSup(xConnection,UNO_QUERY); 2272 if(xTabSup.is()) 2273 { 2274 populateTree( xTabSup->getTables(), _pParent, etTableOrView ); --- 93 unchanged lines hidden (view full) --- 2368 Reference< XNameAccess > xNameAccess(pData->xContainer,UNO_QUERY); 2369 if ( xNameAccess.is() ) 2370 pEntryData->xContainer.set(xNameAccess->getByName(aName),UNO_QUERY); 2371 } 2372 catch(const Exception& ) 2373 { 2374 DBG_UNHANDLED_EXCEPTION(); 2375 } | 2267 Reference<XViewsSupplier> xViewSup(xConnection,UNO_QUERY); 2268 if(xViewSup.is()) 2269 populateTree( xViewSup->getViews(), _pParent, etTableOrView ); 2270 2271 Reference<XTablesSupplier> xTabSup(xConnection,UNO_QUERY); 2272 if(xTabSup.is()) 2273 { 2274 populateTree( xTabSup->getTables(), _pParent, etTableOrView ); --- 93 unchanged lines hidden (view full) --- 2368 Reference< XNameAccess > xNameAccess(pData->xContainer,UNO_QUERY); 2369 if ( xNameAccess.is() ) 2370 pEntryData->xContainer.set(xNameAccess->getByName(aName),UNO_QUERY); 2371 } 2372 catch(const Exception& ) 2373 { 2374 DBG_UNHANDLED_EXCEPTION(); 2375 } |
2376 | 2376 |
2377 bSuccess = pEntryData->xContainer.is(); 2378 } 2379 else 2380 { 2381 try 2382 { 2383 Reference< XQueryDefinitionsSupplier > xQuerySup; 2384 m_xDatabaseContext->getByName( getDataSourceAcessor( pDataSourceEntry ) ) >>= xQuerySup; --- 221 unchanged lines hidden (view full) --- 2606 // but first check if it is necessary 2607 // get all old properties 2608 Reference<XPropertySet> xRowSetProps(getRowSet(),UNO_QUERY); 2609 ::rtl::OUString aOldName; 2610 xRowSetProps->getPropertyValue(PROPERTY_COMMAND) >>= aOldName; 2611 sal_Int32 nOldType = 0; 2612 xRowSetProps->getPropertyValue(PROPERTY_COMMAND_TYPE) >>= nOldType; 2613 Reference<XConnection> xOldConnection(xRowSetProps->getPropertyValue(PROPERTY_ACTIVE_CONNECTION),UNO_QUERY); | 2377 bSuccess = pEntryData->xContainer.is(); 2378 } 2379 else 2380 { 2381 try 2382 { 2383 Reference< XQueryDefinitionsSupplier > xQuerySup; 2384 m_xDatabaseContext->getByName( getDataSourceAcessor( pDataSourceEntry ) ) >>= xQuerySup; --- 221 unchanged lines hidden (view full) --- 2606 // but first check if it is necessary 2607 // get all old properties 2608 Reference<XPropertySet> xRowSetProps(getRowSet(),UNO_QUERY); 2609 ::rtl::OUString aOldName; 2610 xRowSetProps->getPropertyValue(PROPERTY_COMMAND) >>= aOldName; 2611 sal_Int32 nOldType = 0; 2612 xRowSetProps->getPropertyValue(PROPERTY_COMMAND_TYPE) >>= nOldType; 2613 Reference<XConnection> xOldConnection(xRowSetProps->getPropertyValue(PROPERTY_ACTIVE_CONNECTION),UNO_QUERY); |
2614 | 2614 |
2615 // the name of the table or query 2616 SvLBoxString* pString = (SvLBoxString*)_pEntry->GetFirstItem(SV_ITEM_ID_BOLDLBSTRING); 2617 OSL_ENSURE(pString,"There must be a string item!"); 2618 const ::rtl::OUString sSimpleName = pString->GetText(); 2619 ::rtl::OUStringBuffer sNameBuffer(sSimpleName); 2620 if ( etQueryContainer == pContainerData->eType ) 2621 { 2622 SvLBoxEntry* pTemp = pContainer; --- 527 unchanged lines hidden (view full) --- 3150 return xDataSource.get(); 3151 } 3152} 3153 3154// ------------------------------------------------------------------------- 3155void SbaTableQueryBrowser::impl_initialize() 3156{ 3157 ::vos::OGuard aGuard(Application::GetSolarMutex()); | 2615 // the name of the table or query 2616 SvLBoxString* pString = (SvLBoxString*)_pEntry->GetFirstItem(SV_ITEM_ID_BOLDLBSTRING); 2617 OSL_ENSURE(pString,"There must be a string item!"); 2618 const ::rtl::OUString sSimpleName = pString->GetText(); 2619 ::rtl::OUStringBuffer sNameBuffer(sSimpleName); 2620 if ( etQueryContainer == pContainerData->eType ) 2621 { 2622 SvLBoxEntry* pTemp = pContainer; --- 527 unchanged lines hidden (view full) --- 3150 return xDataSource.get(); 3151 } 3152} 3153 3154// ------------------------------------------------------------------------- 3155void SbaTableQueryBrowser::impl_initialize() 3156{ 3157 ::vos::OGuard aGuard(Application::GetSolarMutex()); |
3158 // doin' a lot of VCL stuff here -> lock the SolarMutex | 3158 // doing a lot of VCL stuff here -> lock the SolarMutex |
3159 3160 // first initialize the parent 3161 SbaXDataBrowserController::impl_initialize(); 3162 3163 Reference<XConnection> xForeignConnection; 3164 Reference< XFrame > xFrame; 3165 3166 ::rtl::OUString aTableName, aCatalogName, aSchemaName; --- 280 unchanged lines hidden (view full) --- 3447{ 3448 SvLBoxEntry* pLHS = static_cast<SvLBoxEntry*>(_pSortData->pLeft); 3449 SvLBoxEntry* pRHS = static_cast<SvLBoxEntry*>(_pSortData->pRight); 3450 DBG_ASSERT(pLHS && pRHS, "SbaTableQueryBrowser::OnTreeEntryCompare: invalid tree entries!"); 3451 // we want the table entry and the end so we have to do a check 3452 3453 if (isContainer(pRHS)) 3454 { | 3159 3160 // first initialize the parent 3161 SbaXDataBrowserController::impl_initialize(); 3162 3163 Reference<XConnection> xForeignConnection; 3164 Reference< XFrame > xFrame; 3165 3166 ::rtl::OUString aTableName, aCatalogName, aSchemaName; --- 280 unchanged lines hidden (view full) --- 3447{ 3448 SvLBoxEntry* pLHS = static_cast<SvLBoxEntry*>(_pSortData->pLeft); 3449 SvLBoxEntry* pRHS = static_cast<SvLBoxEntry*>(_pSortData->pRight); 3450 DBG_ASSERT(pLHS && pRHS, "SbaTableQueryBrowser::OnTreeEntryCompare: invalid tree entries!"); 3451 // we want the table entry and the end so we have to do a check 3452 3453 if (isContainer(pRHS)) 3454 { |
3455 // don't use getEntryType (directly or indirecly) for the LHS: | 3455 // don't use getEntryType (directly or indirectly) for the LHS: |
3456 // LHS is currently being inserted, so it is not "completely valid" at the moment 3457 3458 const EntryType eRight = getEntryType(pRHS); 3459 if (etTableContainer == eRight) 3460 // every other container should be placed _before_ the bookmark container 3461 return -1; 3462 3463 const String sLeft = m_pTreeView->getListBox().GetEntryText(pLHS); --- 32 unchanged lines hidden (view full) --- 3496 { 3497 nCompareResult = m_xCollator->compareString(sLeftText, sRightText); 3498 } 3499 catch(Exception&) 3500 { 3501 } 3502 } 3503 else | 3456 // LHS is currently being inserted, so it is not "completely valid" at the moment 3457 3458 const EntryType eRight = getEntryType(pRHS); 3459 if (etTableContainer == eRight) 3460 // every other container should be placed _before_ the bookmark container 3461 return -1; 3462 3463 const String sLeft = m_pTreeView->getListBox().GetEntryText(pLHS); --- 32 unchanged lines hidden (view full) --- 3496 { 3497 nCompareResult = m_xCollator->compareString(sLeftText, sRightText); 3498 } 3499 catch(Exception&) 3500 { 3501 } 3502 } 3503 else |
3504 // default behaviour if we do not have a collator -> do the simple string compare | 3504 // default behavior if we do not have a collator -> do the simple string compare |
3505 nCompareResult = sLeftText.CompareTo(sRightText); 3506 3507 return nCompareResult; 3508} 3509 3510// ----------------------------------------------------------------------------- 3511void SbaTableQueryBrowser::implAdministrate( SvLBoxEntry* _pApplyTo ) 3512{ --- 130 unchanged lines hidden (view full) --- 3643// ----------------------------------------------------------------------------- 3644sal_Bool SbaTableQueryBrowser::implGetQuerySignature( ::rtl::OUString& _rCommand, sal_Bool& _bEscapeProcessing ) 3645{ 3646 _rCommand = ::rtl::OUString(); 3647 _bEscapeProcessing = sal_False; 3648 3649 try 3650 { | 3505 nCompareResult = sLeftText.CompareTo(sRightText); 3506 3507 return nCompareResult; 3508} 3509 3510// ----------------------------------------------------------------------------- 3511void SbaTableQueryBrowser::implAdministrate( SvLBoxEntry* _pApplyTo ) 3512{ --- 130 unchanged lines hidden (view full) --- 3643// ----------------------------------------------------------------------------- 3644sal_Bool SbaTableQueryBrowser::implGetQuerySignature( ::rtl::OUString& _rCommand, sal_Bool& _bEscapeProcessing ) 3645{ 3646 _rCommand = ::rtl::OUString(); 3647 _bEscapeProcessing = sal_False; 3648 3649 try 3650 { |
3651 // ontain the dss (data source signature) of the form | 3651 // contain the dss (data source signature) of the form |
3652 ::rtl::OUString sDataSourceName; 3653 ::rtl::OUString sCommand; 3654 sal_Int32 nCommandType = CommandType::COMMAND; 3655 Reference< XPropertySet > xRowsetProps( getRowSet(), UNO_QUERY ); 3656 ODataAccessDescriptor aDesc( xRowsetProps ); 3657 sDataSourceName = aDesc.getDataSource(); 3658 aDesc[ daCommand ] >>= sCommand; 3659 aDesc[ daCommandType ] >>= nCommandType; --- 265 unchanged lines hidden (view full) --- 3925 implAddDatasource( _Event.Name, SharedConnection() ); 3926} 3927 3928 3929// ......................................................................... 3930} // namespace dbaui 3931// ......................................................................... 3932 | 3652 ::rtl::OUString sDataSourceName; 3653 ::rtl::OUString sCommand; 3654 sal_Int32 nCommandType = CommandType::COMMAND; 3655 Reference< XPropertySet > xRowsetProps( getRowSet(), UNO_QUERY ); 3656 ODataAccessDescriptor aDesc( xRowsetProps ); 3657 sDataSourceName = aDesc.getDataSource(); 3658 aDesc[ daCommand ] >>= sCommand; 3659 aDesc[ daCommandType ] >>= nCommandType; --- 265 unchanged lines hidden (view full) --- 3925 implAddDatasource( _Event.Name, SharedConnection() ); 3926} 3927 3928 3929// ......................................................................... 3930} // namespace dbaui 3931// ......................................................................... 3932 |
3933 | 3933/* vim: set noet sw=4 ts=4: */ |