diff options
Diffstat (limited to 'extensions/source/bibliography/bibload.cxx')
-rw-r--r-- | extensions/source/bibliography/bibload.cxx | 707 |
1 files changed, 0 insertions, 707 deletions
diff --git a/extensions/source/bibliography/bibload.cxx b/extensions/source/bibliography/bibload.cxx deleted file mode 100644 index 22b43a077..000000000 --- a/extensions/source/bibliography/bibload.cxx +++ /dev/null @@ -1,707 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_extensions.hxx" - - -#include <osl/mutex.hxx> -#include <tools/urlobj.hxx> -#include <tools/diagnose_ex.h> -#include <cppuhelper/weak.hxx> -#include <svl/itemprop.hxx> -#include <uno/environment.h> -#include <svl/urihelper.hxx> -#include <toolkit/helper/vclunohelper.hxx> -#include <comphelper/processfactory.hxx> -#include <cppuhelper/factory.hxx> // helper for factories -#include <com/sun/star/sdbc/ResultSetType.hpp> -#include <com/sun/star/sdbc/ResultSetConcurrency.hpp> -#include <com/sun/star/sdb/XColumn.hpp> -#include <com/sun/star/util/XURLTransformer.hpp> -#include <com/sun/star/sdbcx/XColumnsSupplier.hpp> -#include <com/sun/star/sdbc/XRowSet.hpp> -#include <com/sun/star/sdb/CommandType.hpp> -#include <com/sun/star/frame/XFrameLoader.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/lang/XSingleServiceFactory.hpp> -#include <com/sun/star/beans/PropertyAttribute.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/text/BibliographyDataField.hpp> -#include <com/sun/star/form/XLoadListener.hpp> -#include <com/sun/star/frame/XLayoutManager.hpp> -#include <toolkit/awt/vclxwindow.hxx> -#include <vcl/window.hxx> -#include <vcl/edit.hxx> -#include <vcl/svapp.hxx> -#include <vcl/group.hxx> -#include <svtools/svmedit.hxx> - -#include "bibresid.hxx" -#include "bib.hrc" -#include "bibcont.hxx" -#include "bibbeam.hxx" -#include "bibmod.hxx" -#include "bibview.hxx" -#include "framectr.hxx" -#include "datman.hxx" -#include <bibconfig.hxx> -#include <cppuhelper/implbase4.hxx> // helper for implementations - -using namespace ::rtl; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::sdb; -using namespace ::com::sun::star::sdbc; -using namespace ::com::sun::star::form; -using namespace ::com::sun::star::container; -using namespace ::com::sun::star::frame; - -#define C2U(cChar) OUString::createFromAscii(cChar) - - -//----------------------------------------------------------------------------- - -#define PROPERTY_FRAME 1 - -class BibliographyLoader : public cppu::WeakImplHelper4 - < XServiceInfo, XNameAccess, XPropertySet, XFrameLoader > -{ - HdlBibModul m_pBibMod; - Reference< XLoadable > m_xDatMan; - BibDataManager* m_pDatMan; - Reference< XNameAccess > m_xColumns; - Reference< XResultSet > m_xCursor; - -private: - - void loadView(const Reference< XFrame > & aFrame, const rtl::OUString& aURL, - const Sequence< PropertyValue >& aArgs, - const Reference< XLoadEventListener > & aListener); - - BibDataManager* GetDataManager()const; - Reference< XNameAccess > GetDataColumns() const; - Reference< XResultSet > GetDataCursor() const; - Reference< sdb::XColumn > GetIdentifierColumn() const; - -public: - BibliographyLoader(); - ~BibliographyLoader(); - - // XServiceInfo - rtl::OUString SAL_CALL getImplementationName() throw( ); - sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ); - Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ); - static rtl::OUString getImplementationName_Static() throw( ) - - { - //! - return C2U("com.sun.star.extensions.Bibliography"); - //! - } - - //XNameAccess - virtual Any SAL_CALL getByName(const rtl::OUString& aName) throw ( NoSuchElementException, WrappedTargetException, RuntimeException ); - virtual Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw ( RuntimeException ); - virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& aName) throw ( RuntimeException ); - - //XElementAccess - virtual Type SAL_CALL getElementType(void) throw ( RuntimeException ); - virtual sal_Bool SAL_CALL hasElements(void) throw ( RuntimeException ); - - //XPropertySet - virtual Reference< XPropertySetInfo > SAL_CALL getPropertySetInfo(void) throw ( RuntimeException ); - virtual void SAL_CALL setPropertyValue(const rtl::OUString& PropertyName, const Any& aValue) throw( UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException ); - virtual Any SAL_CALL getPropertyValue(const rtl::OUString& PropertyName) throw ( UnknownPropertyException, WrappedTargetException, RuntimeException ); - virtual void SAL_CALL addPropertyChangeListener(const rtl::OUString& PropertyName, const Reference< XPropertyChangeListener > & aListener) throw( UnknownPropertyException, WrappedTargetException, RuntimeException ); - virtual void SAL_CALL removePropertyChangeListener(const rtl::OUString& PropertyName, const Reference< XPropertyChangeListener > & aListener) throw( UnknownPropertyException, WrappedTargetException, RuntimeException ); - virtual void SAL_CALL addVetoableChangeListener(const rtl::OUString& PropertyName, const Reference< XVetoableChangeListener > & aListener) throw( UnknownPropertyException, WrappedTargetException, RuntimeException ); - virtual void SAL_CALL removeVetoableChangeListener(const rtl::OUString& PropertyName, const Reference< XVetoableChangeListener > & aListener) throw( UnknownPropertyException, WrappedTargetException, RuntimeException ); - - static Sequence<rtl::OUString> SAL_CALL getSupportedServiceNames_Static(void) throw( ); - - friend Reference< XInterface > SAL_CALL BibliographyLoader_CreateInstance( const Reference< XMultiServiceFactory > & rSMgr ) throw( Exception ); - - // XLoader - virtual void SAL_CALL load(const Reference< XFrame > & aFrame, const rtl::OUString& aURL, - const Sequence< PropertyValue >& aArgs, - const Reference< XLoadEventListener > & aListener) throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL cancel(void) throw (::com::sun::star::uno::RuntimeException); -}; - -BibliographyLoader::BibliographyLoader() : - m_pBibMod(0), - m_pDatMan(0) -{ -} - -BibliographyLoader::~BibliographyLoader() -{ - Reference< lang::XComponent > xComp(m_xCursor, UNO_QUERY); - if (xComp.is()) - xComp->dispose(); - if(m_pBibMod) - CloseBibModul(m_pBibMod); -} - - -Reference< XInterface > SAL_CALL BibliographyLoader_CreateInstance( const Reference< XMultiServiceFactory > & /*rSMgr*/ ) throw( Exception ) -{ - return *(new BibliographyLoader); -} - - -// XServiceInfo -rtl::OUString BibliographyLoader::getImplementationName() throw( ) - -{ - return getImplementationName_Static(); -} - -// XServiceInfo -sal_Bool BibliographyLoader::supportsService(const rtl::OUString& ServiceName) throw( ) -{ - Sequence< rtl::OUString > aSNL = getSupportedServiceNames(); - const rtl::OUString * pArray = aSNL.getConstArray(); - for( sal_Int32 i = 0; i < aSNL.getLength(); i++ ) - if( pArray[i] == ServiceName ) - return sal_True; - return sal_False; -} - -// XServiceInfo -Sequence< rtl::OUString > BibliographyLoader::getSupportedServiceNames(void) throw( ) -{ - return getSupportedServiceNames_Static(); -} - -// ORegistryServiceManager_Static -Sequence< rtl::OUString > BibliographyLoader::getSupportedServiceNames_Static(void) throw( ) -{ - Sequence< rtl::OUString > aSNS( 2 ); - aSNS.getArray()[0] = C2U("com.sun.star.frame.FrameLoader"); - //! - aSNS.getArray()[1] = C2U("com.sun.star.frame.Bibliography"); - //! - return aSNS; -} - -extern "C" -{ - SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory( - const sal_Char * pImplName, XMultiServiceFactory * pServiceManager, void * /*pRegistryKey*/ ) - { - void * pRet = 0; - if (!BibliographyLoader::getImplementationName_Static().compareToAscii( pImplName ) ) - { - // create the factory - Reference< XSingleServiceFactory > xFactory = - cppu::createSingleFactory( - pServiceManager, - BibliographyLoader::getImplementationName_Static(), - BibliographyLoader_CreateInstance, - BibliographyLoader::getSupportedServiceNames_Static() ); - // acquire, because we return an interface pointer instead of a reference - xFactory->acquire(); - pRet = xFactory.get(); - } - return pRet; - } - -} -// ----------------------------------------------------------------------- -void BibliographyLoader::cancel(void) throw (::com::sun::star::uno::RuntimeException) -{ - //! - //! -} - -// ----------------------------------------------------------------------- -void BibliographyLoader::load(const Reference< XFrame > & rFrame, const rtl::OUString& rURL, - const Sequence< PropertyValue >& rArgs, - const Reference< XLoadEventListener > & rListener) throw (::com::sun::star::uno::RuntimeException) -{ - //! - - SolarMutexGuard aGuard; - m_pBibMod = OpenBibModul(); - - String aURLStr( rURL ); - String aPartName = aURLStr.GetToken( 1, '/' ); - Reference<XPropertySet> xPrSet(rFrame, UNO_QUERY); - if(xPrSet.is()) - { - Any aTitle; - aTitle <<= OUString(String(BibResId(RID_BIB_STR_FRAME_TITLE))); - xPrSet->setPropertyValue(C2U("Title"), aTitle); - } - if(aPartName.EqualsAscii("View") || aPartName.EqualsAscii("View1")) - { - loadView(rFrame, rURL, rArgs, rListener); - } -} - -// ----------------------------------------------------------------------- -void BibliographyLoader::loadView(const Reference< XFrame > & rFrame, const rtl::OUString& /*rURL*/, - const Sequence< PropertyValue >& /*rArgs*/, - const Reference< XLoadEventListener > & rListener) -{ - SolarMutexGuard aGuard; - //! - if(!m_pBibMod) - m_pBibMod = OpenBibModul(); - - m_pDatMan = (*m_pBibMod)->createDataManager(); - m_xDatMan = m_pDatMan; - BibDBDescriptor aBibDesc = BibModul::GetConfig()->GetBibliographyURL(); - - if(!aBibDesc.sDataSource.getLength()) - { - DBChangeDialogConfig_Impl aConfig; - const Sequence<OUString> aSources = aConfig.GetDataSourceNames(); - if(aSources.getLength()) - aBibDesc.sDataSource = aSources.getConstArray()[0]; - } - - Reference< XForm > xForm = m_pDatMan->createDatabaseForm( aBibDesc ); - - Reference< awt::XWindow > aWindow = rFrame->getContainerWindow(); - VCLXWindow* pParentComponent = VCLXWindow::GetImplementation(aWindow); - - Window* pParent = VCLUnoHelper::GetWindow( aWindow ); - - BibBookContainer *pMyWindow = new BibBookContainer( pParent, m_pDatMan ); - pMyWindow->Show(); - - ::bib::BibView* pView = new ::bib::BibView( pMyWindow, m_pDatMan, WB_VSCROLL | WB_HSCROLL | WB_3DLOOK ); - pView->Show(); - m_pDatMan->SetView( pView ); - - ::bib::BibBeamer* pBeamer = new ::bib::BibBeamer( pMyWindow, m_pDatMan ); - pBeamer->Show(); - pMyWindow->createTopFrame(pBeamer); - - pMyWindow->createBottomFrame(pView); - - Reference< awt::XWindow > xWin ( pMyWindow->GetComponentInterface(), UNO_QUERY ); - - Reference< XController > xCtrRef( new BibFrameController_Impl( xWin, m_pDatMan ) ); - - xCtrRef->attachFrame(rFrame); - rFrame->setComponent( xWin, xCtrRef); - pBeamer->SetXController(xCtrRef); - //! - - // not earlier because SetFocus() is triggered in setVisible() - pParentComponent->setVisible(sal_True); - - m_xDatMan->load(); - // #100312# ---------- - m_pDatMan->RegisterInterceptor(pBeamer); - - if ( rListener.is() ) - rListener->loadFinished( this ); - - // attach menu bar - Reference< XPropertySet > xPropSet( rFrame, UNO_QUERY ); - Reference< ::com::sun::star::frame::XLayoutManager > xLayoutManager; - if ( xPropSet.is() ) - { - try - { - Any a = xPropSet->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "LayoutManager" ))); - a >>= xLayoutManager; - } - catch ( uno::Exception& ) - { - } - } - - if ( xLayoutManager.is() ) - xLayoutManager->createElement( OUString( RTL_CONSTASCII_USTRINGPARAM( "private:resource/menubar/menubar" ))); -} - -BibDataManager* BibliographyLoader::GetDataManager()const -{ - if(!m_pDatMan) - { - if(!m_pBibMod) - const_cast< BibliographyLoader* >( this )->m_pBibMod = OpenBibModul(); - const_cast< BibliographyLoader* >( this )->m_pDatMan = (*m_pBibMod)->createDataManager(); - const_cast< BibliographyLoader* >( this )->m_xDatMan = m_pDatMan; - } - return m_pDatMan; -} - -Reference< XNameAccess > BibliographyLoader::GetDataColumns() const -{ - if (!m_xColumns.is()) - { - Reference< XMultiServiceFactory > xMgr = comphelper::getProcessServiceFactory(); - Reference< XRowSet > xRowSet(xMgr->createInstance(C2U("com.sun.star.sdb.RowSet")), UNO_QUERY); - Reference< XPropertySet > xResultSetProps(xRowSet, UNO_QUERY); - DBG_ASSERT(xResultSetProps.is() , "BibliographyLoader::GetDataCursor : invalid row set (no XResultSet or no XPropertySet) !"); - - BibDBDescriptor aBibDesc = BibModul::GetConfig()->GetBibliographyURL(); - - Any aBibUrlAny; aBibUrlAny <<= aBibDesc.sDataSource; - xResultSetProps->setPropertyValue(C2U("DataSourceName"), aBibUrlAny); - Any aCommandType; aCommandType <<= aBibDesc.nCommandType; - xResultSetProps->setPropertyValue(C2U("CommandType"), aCommandType); - Any aTableName; aTableName <<= aBibDesc.sTableOrQuery; - xResultSetProps->setPropertyValue(C2U("Command"), aTableName); - Any aResultSetType; aResultSetType <<= (sal_Int32)(ResultSetType::SCROLL_INSENSITIVE); - xResultSetProps->setPropertyValue(C2U("ResultSetType"), aResultSetType); - Any aResultSetCurrency; aResultSetCurrency <<= (sal_Int32)(ResultSetConcurrency::UPDATABLE); - xResultSetProps->setPropertyValue(C2U("ResultSetConcurrency"), aResultSetCurrency); - - sal_Bool bSuccess = sal_False; - try - { - xRowSet->execute(); - bSuccess = sal_True; - } - catch(const SQLException&) - { - DBG_UNHANDLED_EXCEPTION(); - } - catch(const Exception& ) - { - DBG_UNHANDLED_EXCEPTION(); - bSuccess = sal_False; - } - - if (!bSuccess) - { - Reference< XComponent > xSetComp(xRowSet, UNO_QUERY); - if (xSetComp.is()) - xSetComp->dispose(); - xRowSet = NULL; - } - else - ((BibliographyLoader*)this)->m_xCursor = xRowSet.get(); - - Reference< sdbcx::XColumnsSupplier > xSupplyCols(m_xCursor, UNO_QUERY); - if (xSupplyCols.is()) - ((BibliographyLoader*)this)->m_xColumns = xSupplyCols->getColumns(); - } - - return m_xColumns; -} - -Reference< sdb::XColumn > BibliographyLoader::GetIdentifierColumn() const -{ - BibDataManager* pDatMan = GetDataManager(); - Reference< XNameAccess > xColumns = GetDataColumns(); - rtl::OUString sIdentifierColumnName = pDatMan->GetIdentifierMapping(); - - Reference< sdb::XColumn > xReturn; - if (xColumns.is() && xColumns->hasByName(sIdentifierColumnName)) - { - xReturn = Reference< XColumn > (*(Reference< XInterface > *) - xColumns->getByName(sIdentifierColumnName).getValue(), UNO_QUERY); - } - return xReturn; -} - -Reference< XResultSet > BibliographyLoader::GetDataCursor() const -{ - if (!m_xCursor.is()) - GetDataColumns(); - if (m_xCursor.is()) - m_xCursor->first(); - return m_xCursor; -} - -rtl::OUString lcl_AddProperty(Reference< XNameAccess > xColumns, - const Mapping* pMapping, const String& rColumnName) -{ - String sColumnName(rColumnName); - if(pMapping) - { - for(sal_uInt16 nEntry = 0; nEntry < COLUMN_COUNT; nEntry++) - { - if(pMapping->aColumnPairs[nEntry].sLogicalColumnName == OUString(rColumnName)) - { - sColumnName = pMapping->aColumnPairs[nEntry].sRealColumnName; - break; - } - } - } - rtl::OUString uColumnName(sColumnName); - rtl::OUString uRet; - Reference< sdb::XColumn > xCol; - if (xColumns->hasByName(uColumnName)) - xCol = Reference< sdb::XColumn > (*(Reference< XInterface > *)xColumns->getByName(uColumnName).getValue(), UNO_QUERY); - if (xCol.is()) - uRet = xCol->getString(); - return uRet; -} -//----------------------------------------------------------------------------- -Any BibliographyLoader::getByName(const rtl::OUString& rName) throw - ( NoSuchElementException, WrappedTargetException, RuntimeException ) -{ - Any aRet; - try - { - BibDataManager* pDatMan = ((BibliographyLoader*)this)->GetDataManager(); - Reference< XResultSet > xCursor = GetDataCursor(); - Reference< sdbcx::XColumnsSupplier > xSupplyCols(xCursor, UNO_QUERY); - Reference< XNameAccess > xColumns; - if (!xSupplyCols.is()) - return aRet; - xColumns = xSupplyCols->getColumns(); - DBG_ASSERT(xSupplyCols.is(), "BibliographyLoader::getByName : invalid columns returned by the data cursor (may be the result set is not alive ?) !"); - if (!xColumns.is()) - return aRet; - - String sIdentifierMapping = pDatMan->GetIdentifierMapping(); - rtl::OUString sId = sIdentifierMapping; - Reference< sdb::XColumn > xColumn; - if (xColumns->hasByName(sId)) - xColumn = Reference< sdb::XColumn > (*(Reference< XInterface > *)xColumns->getByName(sId).getValue(), UNO_QUERY); - if (xColumn.is()) - { - do - { - if ((rName == xColumn->getString()) && !xColumn->wasNull()) - { - Sequence<PropertyValue> aPropSequ(COLUMN_COUNT); - PropertyValue* pValues = aPropSequ.getArray(); - BibConfig* pConfig = BibModul::GetConfig(); - BibDBDescriptor aBibDesc = BibModul::GetConfig()->GetBibliographyURL(); - const Mapping* pMapping = pConfig->GetMapping(aBibDesc); - for(sal_uInt16 nEntry = 0; nEntry < COLUMN_COUNT; nEntry++) - { - const String sColName = pConfig->GetDefColumnName( - nEntry); - pValues[nEntry].Name = sColName; - pValues[nEntry].Value <<= lcl_AddProperty(xColumns, pMapping, sColName); - } - aRet.setValue(&aPropSequ, ::getCppuType((Sequence<PropertyValue>*)0)); - - break; - } - } - while(xCursor->next()); - } - } - catch(const Exception&) - { - DBG_UNHANDLED_EXCEPTION(); - } - return aRet; -} - -Sequence< rtl::OUString > BibliographyLoader::getElementNames(void) throw ( RuntimeException ) -{ - Sequence< rtl::OUString > aRet(10); - int nRealNameCount = 0; - try - { - Reference< XResultSet > xCursor(GetDataCursor()); - Reference< sdb::XColumn > xIdColumn(GetIdentifierColumn()); - if (xIdColumn.is()) // implies xCursor.is() - { - do - { - rtl::OUString sTemp = xIdColumn->getString(); - if (sTemp.getLength() && !xIdColumn->wasNull()) - { - int nLen = aRet.getLength(); - if(nLen == nRealNameCount) - aRet.realloc(nLen + 10); - rtl::OUString* pArray = aRet.getArray(); - pArray[nRealNameCount] = sTemp; - nRealNameCount++; - } - } - while (xCursor->next()); - } - } - catch(const Exception&) - { - DBG_UNHANDLED_EXCEPTION(); - } - - aRet.realloc(nRealNameCount); - return aRet; -} - -sal_Bool BibliographyLoader::hasByName(const rtl::OUString& rName) throw ( RuntimeException ) -{ - sal_Bool bRet = sal_False; - try - { - Reference< XResultSet > xCursor = GetDataCursor(); - Reference< sdb::XColumn > xIdColumn = GetIdentifierColumn(); - - if (xIdColumn.is()) // implies xCursor.is() - { - do - { - rtl::OUString sCurrentId = xIdColumn->getString(); - if (!xIdColumn->wasNull() && (rName.compareTo(sCurrentId) == COMPARE_EQUAL)) - { - bRet = sal_True; - break; - } - } - while(xCursor->next()); - } - } - catch(const Exception&) - { - DBG_UNHANDLED_EXCEPTION(); - } - return bRet; -} - -Type BibliographyLoader::getElementType(void) throw ( RuntimeException ) -{ - return ::getCppuType((Sequence<PropertyValue>*)0); -} - -sal_Bool BibliographyLoader::hasElements(void) throw ( RuntimeException ) -{ - Reference< XResultSet > xCursor = GetDataCursor(); - Reference< XNameAccess > xColumns = GetDataColumns(); - return xColumns.is() && (xColumns->getElementNames().getLength() != 0); -} - -Reference< XPropertySetInfo > BibliographyLoader::getPropertySetInfo(void) throw - ( RuntimeException ) -{ - static SfxItemPropertyMapEntry aBibProps_Impl[] = - { - { MAP_CHAR_LEN("BibliographyDataFieldNames"), 0, &::getCppuType((Sequence<PropertyValue>*)0), PropertyAttribute::READONLY, 0}, - {0,0,0,0,0,0} - }; - static Reference< XPropertySetInfo > xRet = - SfxItemPropertySet(aBibProps_Impl).getPropertySetInfo(); - return xRet; -} - -void BibliographyLoader::setPropertyValue(const rtl::OUString& /*PropertyName*/, - const Any& /*aValue*/) - throw( UnknownPropertyException, PropertyVetoException, - IllegalArgumentException, WrappedTargetException, RuntimeException) -{ - throw UnknownPropertyException(); - //no changeable properties -} - -Any BibliographyLoader::getPropertyValue(const rtl::OUString& rPropertyName) - throw( UnknownPropertyException, WrappedTargetException, RuntimeException ) -{ - Any aRet; - static const sal_uInt16 aInternalMapping[] = - { - IDENTIFIER_POS , // BibliographyDataField_IDENTIFIER - AUTHORITYTYPE_POS , // BibliographyDataField_BIBILIOGRAPHIC_TYPE - ADDRESS_POS , // BibliographyDataField_ADDRESS - ANNOTE_POS , // BibliographyDataField_ANNOTE - AUTHOR_POS , // BibliographyDataField_AUTHOR - BOOKTITLE_POS , // BibliographyDataField_BOOKTITLE - CHAPTER_POS , // BibliographyDataField_CHAPTER - EDITION_POS , // BibliographyDataField_EDITION - EDITOR_POS , // BibliographyDataField_EDITOR - HOWPUBLISHED_POS , // BibliographyDataField_HOWPUBLISHED - INSTITUTION_POS , // BibliographyDataField_INSTITUTION - JOURNAL_POS , // BibliographyDataField_JOURNAL - MONTH_POS , // BibliographyDataField_MONTH - NOTE_POS , // BibliographyDataField_NOTE - NUMBER_POS , // BibliographyDataField_NUMBER - ORGANIZATIONS_POS , // BibliographyDataField_ORGANIZATIONS - PAGES_POS , // BibliographyDataField_PAGES - PUBLISHER_POS , // BibliographyDataField_PUBLISHER - SCHOOL_POS , // BibliographyDataField_SCHOOL - SERIES_POS , // BibliographyDataField_SERIES - TITLE_POS , // BibliographyDataField_TITLE - REPORTTYPE_POS , // BibliographyDataField_REPORT_TYPE - VOLUME_POS , // BibliographyDataField_VOLUME - YEAR_POS , // BibliographyDataField_YEAR - URL_POS , // BibliographyDataField_URL - CUSTOM1_POS , // BibliographyDataField_CUSTOM1 - CUSTOM2_POS , // BibliographyDataField_CUSTOM2 - CUSTOM3_POS , // BibliographyDataField_CUSTOM3 - CUSTOM4_POS , // BibliographyDataField_CUSTOM4 - CUSTOM5_POS , // BibliographyDataField_CUSTOM5 - ISBN_POS //BibliographyDataField_ISBN - }; - if(C2U("BibliographyDataFieldNames") == rPropertyName) - { - Sequence<PropertyValue> aSeq(COLUMN_COUNT); - PropertyValue* pArray = aSeq.getArray(); - BibConfig* pConfig = BibModul::GetConfig(); - for(sal_uInt16 i = 0; i <= text::BibliographyDataField::ISBN ; i++) - { - pArray[i].Name = pConfig->GetDefColumnName(aInternalMapping[i]); - pArray[i].Value <<= (sal_Int16) i; - } - aRet.setValue(&aSeq, ::getCppuType((Sequence<PropertyValue>*)0)); - } - else - throw UnknownPropertyException(); - return aRet; -} - -void BibliographyLoader::addPropertyChangeListener( - const rtl::OUString& /*PropertyName*/, const Reference< XPropertyChangeListener > & /*aListener*/) - throw( UnknownPropertyException, WrappedTargetException, RuntimeException ) -{ - //no bound properties -} - -void BibliographyLoader::removePropertyChangeListener( - const rtl::OUString& /*PropertyName*/, const Reference< XPropertyChangeListener > & /*aListener*/) - throw( UnknownPropertyException, WrappedTargetException, RuntimeException ) -{ - //no bound properties -} - -void BibliographyLoader::addVetoableChangeListener( - const rtl::OUString& /*PropertyName*/, const Reference< XVetoableChangeListener > & /*aListener*/) - throw( UnknownPropertyException, WrappedTargetException, RuntimeException ) -{ - //no vetoable properties -} - -void BibliographyLoader::removeVetoableChangeListener( - const rtl::OUString& /*PropertyName*/, const Reference< XVetoableChangeListener > & /*aListener*/) - throw( UnknownPropertyException, WrappedTargetException, RuntimeException ) -{ - //no vetoable properties -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |