Tag: mws_ooh680 User: kz Date: 2008-01-18 13:13:13+0000 Modified: dba/connectivity/source/commontools/dbtools2.cxx
Log: INTEGRATION: CWS reportdesign02_OOH680 (1.23.54); FILE MERGED 2007/12/03 12:24:01 oj 1.23.54.2: #i82914# if no config return old service name 2007/10/26 11:04:13 oj 1.23.54.1: #i82914# new function to ask for the report engine service name File Changes: Directory: /dba/connectivity/source/commontools/ ================================================ File [changed]: dbtools2.cxx Url: http://dba.openoffice.org/source/browse/dba/connectivity/source/commontools/dbtools2.cxx?r1=1.23&r2=1.23.82.1 Delta lines: +50 -1 -------------------- --- dbtools2.cxx 2007-06-12 05:27:13+0000 1.23 +++ dbtools2.cxx 2008-01-18 13:13:11+0000 1.23.82.1 @@ -43,7 +43,7 @@ #ifndef _DBHELPER_DBCHARSET_HXX_ #include "connectivity/dbcharset.hxx" #endif - +#include <unotools/confignode.hxx> #ifndef CONNECTIVITY_SHAREDRESOURCES_HXX #include "resource/sharedresources.hxx" #endif @@ -105,6 +105,7 @@ #include <tools/diagnose_ex.h> #include <unotools/sharedunocomponent.hxx> +#include <comphelper/configurationhelper.hxx> //......................................................................... namespace dbtools @@ -922,6 +923,54 @@ return nLen; } +::rtl::OUString lcl_getReportEngines() +{ + static ::rtl::OUString s_sNodeName(RTL_CONSTASCII_USTRINGPARAM("org.openoffice.Office.DataAccess/ReportEngines")); + return s_sNodeName; +} +// ----------------------------------------------------------------------------- +::rtl::OUString lcl_getDefaultReportEngine() +{ + static ::rtl::OUString s_sNodeName(RTL_CONSTASCII_USTRINGPARAM("DefaultReportEngine")); + return s_sNodeName; +} +// ----------------------------------------------------------------------------- +::rtl::OUString lcl_getReportEngineNames() +{ + static ::rtl::OUString s_sNodeName(RTL_CONSTASCII_USTRINGPARAM("ReportEngineNames")); + return s_sNodeName; +} +// ----------------------------------------------------------------------------- +::rtl::OUString getDefaultReportEngineServiceName(const Reference< XMultiServiceFactory >& _rxORB) +{ + ::utl::OConfigurationTreeRoot aReportEngines = ::utl::OConfigurationTreeRoot::createWithServiceFactory( + _rxORB, lcl_getReportEngines(), -1, ::utl::OConfigurationTreeRoot::CM_READONLY); + + if ( aReportEngines.isValid() ) + { + ::rtl::OUString sDefaultReportEngineName; + aReportEngines.getNodeValue(lcl_getDefaultReportEngine()) >>= sDefaultReportEngineName; + if ( sDefaultReportEngineName.getLength() ) + { + ::utl::OConfigurationNode aReportEngineNames = aReportEngines.openNode(lcl_getReportEngineNames()); + if ( aReportEngineNames.isValid() ) + { + ::utl::OConfigurationNode aReportEngine = aReportEngineNames.openNode(sDefaultReportEngineName); + if ( aReportEngine.isValid() ) + { + ::rtl::OUString sRet; + const static ::rtl::OUString s_sService(RTL_CONSTASCII_USTRINGPARAM("ServiceName")); + aReportEngine.getNodeValue(s_sService) >>= sRet; + return sRet; + } + } + } + } + else + return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.report.pentaho.SOReportJobFactory")); + return ::rtl::OUString(); +} +// ----------------------------------------------------------------------------- //......................................................................... } // namespace dbtools //......................................................................... --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
