User: obo     
Date: 05/03/18 02:10:10

Modified:
 /dba/dbaccess/source/ui/dlg/
  UserAdminDlg.cxx

Log:
 INTEGRATION: CWS dba25 (1.3.38); FILE MERGED
 2005/03/04 12:00:10 oj 1.3.38.2: #i43912# check if users are not null
 2005/03/04 07:19:44 oj 1.3.38.1: #i43912# use set connection as 
activeconnection

File Changes:

Directory: /dba/dbaccess/source/ui/dlg/
=======================================

File [changed]: UserAdminDlg.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/dlg/UserAdminDlg.cxx?r1=1.3&r2=1.4
Delta lines:  +28 -16
---------------------
--- UserAdminDlg.cxx    21 Jan 2005 17:13:36 -0000      1.3
+++ UserAdminDlg.cxx    18 Mar 2005 10:10:07 -0000      1.4
@@ -132,9 +132,12 @@
        OUserAdminDlg::OUserAdminDlg(Window* _pParent
                                                                                
        , SfxItemSet* _pItems
                                                                                
        ,const Reference< XMultiServiceFactory >& _rxORB
-                                                                               
        ,const ::com::sun::star::uno::Any& _aDataSourceName)
+                                                                               
        ,const ::com::sun::star::uno::Any& _aDataSourceName
+                                                                               
        ,const Reference< XConnection >& _xConnection)
                :SfxTabDialog(_pParent, ModuleRes(DLG_DATABASE_USERADMIN), 
_pItems)
                ,m_pItemSet(_pItems)
+               ,m_xConnection(_xConnection)
+               ,m_bOwnConnection(!_xConnection.is())
        {
                m_pImpl = 
::std::auto_ptr<ODbDataSourceAdministrationHelper>(new 
ODbDataSourceAdministrationHelper(_rxORB,_pParent,this));
                m_pImpl->setCurrentDataSourceName(_aDataSourceName);
@@ -155,6 +158,7 @@
        // 
-----------------------------------------------------------------------
        OUserAdminDlg::~OUserAdminDlg()
        {
+               if ( m_bOwnConnection )
                try 
                {
                        ::comphelper::disposeComponent(m_xConnection);
@@ -169,20 +173,25 @@
        {
                try
                {
+                       Reference<XUsersSupplier> 
xUsersSup(m_xConnection,UNO_QUERY);
+                       sal_Bool bError = sal_False;
+                       if ( !xUsersSup.is() )
+                       {
                        Reference< XDataDefinitionSupplier > 
xDriver(getDriver(),UNO_QUERY);
-                       sal_Bool bError = !xDriver.is();
+                               bError = !xDriver.is();
                        if ( !bError )
                        {
                                m_xConnection = createConnection().first;
-                               if ( m_xConnection.is() )
+                       
+                                       if ( !(bError = !m_xConnection.is()) )
                                {
                                        // now set the tables supplier at the 
table control
-                                       Reference< XTablesSupplier > xTablesSup 
= xDriver->getDataDefinitionByConnection(m_xConnection);
-                               
-                                       Reference<XUsersSupplier> 
xUsersSup(xTablesSup,UNO_QUERY);
-                                       bError = !xUsersSup.is();
+                                               
xUsersSup.set(xDriver->getDataDefinitionByConnection(m_xConnection),UNO_QUERY);
+                                       }
                                }
                        }
+            bError = ! ( xUsersSup.is() && xUsersSup->getUsers().is());
+                       
                        if ( bError )
                        {
                                String 
sError(ModuleRes(STR_USERADMIN_NOT_AVAILABLE));
@@ -227,7 +236,10 @@
        ::std::pair< Reference<XConnection>,sal_Bool> 
OUserAdminDlg::createConnection()
        {
                if ( !m_xConnection.is() )
+               {
                        m_xConnection = m_pImpl->createConnection().first;
+                       m_bOwnConnection = m_xConnection.is();
+               }
                return ::std::pair< Reference<XConnection>,sal_Bool> 
(m_xConnection,sal_False);
        }
        // 
-----------------------------------------------------------------------------




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to