fdo#46808, Adapt sdb::TableDefinition UNO service to new style
The service already existed, it just did not have an IDL file Change-Id: Iaac84da8baa3a060eef339d8e477f86ca49fae08
This commit is contained in:
@@ -31,6 +31,7 @@
|
|||||||
#include <com/sun/star/beans/XPropertySet.hpp>
|
#include <com/sun/star/beans/XPropertySet.hpp>
|
||||||
#include <com/sun/star/beans/PropertyState.hpp>
|
#include <com/sun/star/beans/PropertyState.hpp>
|
||||||
#include <com/sun/star/beans/XPropertyState.hpp>
|
#include <com/sun/star/beans/XPropertyState.hpp>
|
||||||
|
#include <com/sun/star/sdb/TableDefinition.hpp>
|
||||||
#include <com/sun/star/sdbc/XConnection.hpp>
|
#include <com/sun/star/sdbc/XConnection.hpp>
|
||||||
#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
|
#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
|
||||||
#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
|
#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
|
||||||
@@ -158,13 +159,8 @@ void lcl_createDefintionObject(const ::rtl::OUString& _rName
|
|||||||
_xTableDefinition.set(_xTableDefinitions->getByName(_rName),UNO_QUERY);
|
_xTableDefinition.set(_xTableDefinitions->getByName(_rName),UNO_QUERY);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Sequence< Any > aArguments(1);
|
|
||||||
PropertyValue aValue;
|
|
||||||
// set as folder
|
// set as folder
|
||||||
aValue.Name = PROPERTY_NAME;
|
_xTableDefinition.set( TableDefinition::createWithName( ::comphelper::getProcessComponentContext(), _rName ), UNO_QUERY);
|
||||||
aValue.Value <<= _rName;
|
|
||||||
aArguments[0] <<= aValue;
|
|
||||||
_xTableDefinition.set(::comphelper::getProcessServiceFactory()->createInstanceWithArguments(SERVICE_SDB_TABLEDEFINITION,aArguments),UNO_QUERY);
|
|
||||||
_xTableDefinitions->insertByName(_rName,makeAny(_xTableDefinition));
|
_xTableDefinitions->insertByName(_rName,makeAny(_xTableDefinition));
|
||||||
::dbaccess::notifyDataSourceModified(_xTableDefinitions,_bModified);
|
::dbaccess::notifyDataSourceModified(_xTableDefinitions,_bModified);
|
||||||
}
|
}
|
||||||
|
@@ -91,6 +91,22 @@ OComponentDefinition_Impl::~OComponentDefinition_Impl()
|
|||||||
|
|
||||||
DBG_NAME(OComponentDefinition)
|
DBG_NAME(OComponentDefinition)
|
||||||
|
|
||||||
|
void OComponentDefinition::initialize( const Sequence< Any >& aArguments ) throw(Exception)
|
||||||
|
{
|
||||||
|
OUString rName;
|
||||||
|
if( (aArguments.getLength() == 1) && (aArguments[0] >>= rName) )
|
||||||
|
{
|
||||||
|
Sequence< Any > aNewArgs(1);
|
||||||
|
PropertyValue aValue;
|
||||||
|
aValue.Name = PROPERTY_NAME;
|
||||||
|
aValue.Value <<= rName;
|
||||||
|
aNewArgs[0] <<= aValue;
|
||||||
|
OContentHelper::initialize(aNewArgs);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
OContentHelper::initialize(aArguments);
|
||||||
|
}
|
||||||
|
|
||||||
void OComponentDefinition::registerProperties()
|
void OComponentDefinition::registerProperties()
|
||||||
{
|
{
|
||||||
m_xColumnPropertyListener = ::comphelper::ImplementationReference<OColumnPropertyListener,XPropertyChangeListener>(new OColumnPropertyListener(this));
|
m_xColumnPropertyListener = ::comphelper::ImplementationReference<OColumnPropertyListener,XPropertyChangeListener>(new OColumnPropertyListener(this));
|
||||||
@@ -161,7 +177,7 @@ OUString OComponentDefinition::getImplementationName_static( ) throw(RuntimeExc
|
|||||||
Sequence< ::rtl::OUString > OComponentDefinition::getSupportedServiceNames_static( ) throw(RuntimeException)
|
Sequence< ::rtl::OUString > OComponentDefinition::getSupportedServiceNames_static( ) throw(RuntimeException)
|
||||||
{
|
{
|
||||||
Sequence< ::rtl::OUString > aServices(2);
|
Sequence< ::rtl::OUString > aServices(2);
|
||||||
aServices.getArray()[0] = SERVICE_SDB_TABLEDEFINITION;
|
aServices.getArray()[0] = ::rtl::OUString("com.sun.star.sdb.TableDefinition");
|
||||||
aServices.getArray()[1] = ::rtl::OUString("com.sun.star.ucb.Content");
|
aServices.getArray()[1] = ::rtl::OUString("com.sun.star.ucb.Content");
|
||||||
|
|
||||||
return aServices;
|
return aServices;
|
||||||
|
@@ -135,6 +135,9 @@ public:
|
|||||||
static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
|
static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
|
||||||
Create(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&);
|
Create(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&);
|
||||||
|
|
||||||
|
// XInitialization
|
||||||
|
void initialize( com::sun::star::uno::Sequence< com::sun::star::uno::Any > const & rArguments) throw (com::sun::star::uno::Exception);
|
||||||
|
|
||||||
// ::com::sun::star::beans::XPropertySet
|
// ::com::sun::star::beans::XPropertySet
|
||||||
virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException);
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException);
|
||||||
|
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
#include <tools/debug.hxx>
|
#include <tools/debug.hxx>
|
||||||
#include "dbastrings.hrc"
|
#include "dbastrings.hrc"
|
||||||
|
#include <com/sun/star/sdb/TableDefinition.hpp>
|
||||||
|
|
||||||
using namespace ::com::sun::star::uno;
|
using namespace ::com::sun::star::uno;
|
||||||
using namespace ::com::sun::star::lang;
|
using namespace ::com::sun::star::lang;
|
||||||
@@ -78,7 +79,10 @@ Reference< XInterface > SAL_CALL OCommandContainer::createInstanceWithArguments(
|
|||||||
|
|
||||||
Reference< XInterface > SAL_CALL OCommandContainer::createInstance( ) throw (Exception, RuntimeException)
|
Reference< XInterface > SAL_CALL OCommandContainer::createInstance( ) throw (Exception, RuntimeException)
|
||||||
{
|
{
|
||||||
return m_aContext.createComponent( (::rtl::OUString)( m_bTables ? SERVICE_SDB_TABLEDEFINITION : SERVICE_SDB_COMMAND_DEFINITION ) );
|
if(m_bTables)
|
||||||
|
return com::sun::star::sdb::TableDefinition::createDefault( m_aContext.getUNOContext() );
|
||||||
|
else
|
||||||
|
return m_aContext.createComponent( (::rtl::OUString)( SERVICE_SDB_COMMAND_DEFINITION ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
OUString OCommandContainer::determineContentType() const
|
OUString OCommandContainer::determineContentType() const
|
||||||
|
@@ -84,7 +84,7 @@ SvXMLImportContext* OXMLDocuments::CreateChildContext(
|
|||||||
{
|
{
|
||||||
case XML_TOK_TABLE:
|
case XML_TOK_TABLE:
|
||||||
GetOwnImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
|
GetOwnImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
|
||||||
pContext = new OXMLTable( GetOwnImport(), nPrefix, rLocalName,xAttrList,m_xContainer,SERVICE_SDB_TABLEDEFINITION);
|
pContext = new OXMLTable( GetOwnImport(), nPrefix, rLocalName, xAttrList, m_xContainer, "com.sun.star.sdb.TableDefinition");
|
||||||
break;
|
break;
|
||||||
case XML_TOK_QUERY:
|
case XML_TOK_QUERY:
|
||||||
GetOwnImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
|
GetOwnImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
|
||||||
|
@@ -372,7 +372,6 @@ DECLARE_CONSTASCII_USTRING(SERVICE_SDB_QUERIES);
|
|||||||
DECLARE_CONSTASCII_USTRING(SERVICE_SDBC_DRIVERMANAGER);
|
DECLARE_CONSTASCII_USTRING(SERVICE_SDBC_DRIVERMANAGER);
|
||||||
DECLARE_CONSTASCII_USTRING(SERVICE_FRAME_DESKTOP);
|
DECLARE_CONSTASCII_USTRING(SERVICE_FRAME_DESKTOP);
|
||||||
DECLARE_CONSTASCII_USTRING(SERVICE_UI_FOLDERPICKER);
|
DECLARE_CONSTASCII_USTRING(SERVICE_UI_FOLDERPICKER);
|
||||||
DECLARE_CONSTASCII_USTRING(SERVICE_SDB_TABLEDEFINITION);
|
|
||||||
DECLARE_CONSTASCII_USTRING(SERVICE_SDB_COMMAND_DEFINITION);
|
DECLARE_CONSTASCII_USTRING(SERVICE_SDB_COMMAND_DEFINITION);
|
||||||
DECLARE_CONSTASCII_USTRING(SERVICE_NAME_FORM);
|
DECLARE_CONSTASCII_USTRING(SERVICE_NAME_FORM);
|
||||||
DECLARE_CONSTASCII_USTRING(SERVICE_NAME_FORM_COLLECTION);
|
DECLARE_CONSTASCII_USTRING(SERVICE_NAME_FORM_COLLECTION);
|
||||||
|
@@ -208,7 +208,6 @@ IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_TABLES, "com.sun.star.sdbcx.Tables");
|
|||||||
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERIES, "com.sun.star.sdb.Queries");
|
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERIES, "com.sun.star.sdb.Queries");
|
||||||
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_INDEXCOLUMN, "com.sun.star.sdbcx.IndexColumn");
|
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_INDEXCOLUMN, "com.sun.star.sdbcx.IndexColumn");
|
||||||
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_KEYCOLUMN, "com.sun.star.sdbcx.KeyColumn");
|
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_KEYCOLUMN, "com.sun.star.sdbcx.KeyColumn");
|
||||||
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_TABLEDEFINITION, "com.sun.star.sdb.TableDefinition");
|
|
||||||
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_COMMAND_DEFINITION, "com.sun.star.sdb.CommandDefinition");
|
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_COMMAND_DEFINITION, "com.sun.star.sdb.CommandDefinition");
|
||||||
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DOCUMENTDEFINITION, "com.sun.star.sdb.DocumentDefinition");
|
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DOCUMENTDEFINITION, "com.sun.star.sdb.DocumentDefinition");
|
||||||
IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_FORM, "com.sun.star.sdb.Form");
|
IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_FORM, "com.sun.star.sdb.Form");
|
||||||
|
@@ -263,6 +263,7 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/sdb,\
|
|||||||
FilterDialog \
|
FilterDialog \
|
||||||
OrderDialog \
|
OrderDialog \
|
||||||
ReportDesign \
|
ReportDesign \
|
||||||
|
TableDefinition \
|
||||||
))
|
))
|
||||||
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/sdb/application,\
|
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/sdb/application,\
|
||||||
CopyTableWizard \
|
CopyTableWizard \
|
||||||
|
45
offapi/com/sun/star/sdb/TableDefinition.idl
Normal file
45
offapi/com/sun/star/sdb/TableDefinition.idl
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||||
|
/*
|
||||||
|
* This file is part of the LibreOffice project.
|
||||||
|
*
|
||||||
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
*
|
||||||
|
* This file incorporates work covered by the following license notice:
|
||||||
|
*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file distributed
|
||||||
|
* with this work for additional information regarding copyright
|
||||||
|
* ownership. The ASF licenses this file to you under the Apache
|
||||||
|
* License, Version 2.0 (the "License"); you may not use this file
|
||||||
|
* except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||||
|
*/
|
||||||
|
#ifndef __com_sun_star_sdb_TableDefinition_idl__
|
||||||
|
#define __com_sun_star_sdb_TableDefinition_idl__
|
||||||
|
|
||||||
|
#include <com/sun/star/beans/XPropertySet.idl>
|
||||||
|
|
||||||
|
module com { module sun { module star { module sdb {
|
||||||
|
|
||||||
|
/**
|
||||||
|
This IDL was created from the service's places of use, so it is probably incomplete.
|
||||||
|
|
||||||
|
@since LibreOffice 4.1
|
||||||
|
*/
|
||||||
|
service TableDefinition : com::sun::star::beans::XPropertySet
|
||||||
|
{
|
||||||
|
createDefault();
|
||||||
|
|
||||||
|
createWithName([in] string Name);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
}; }; }; };
|
||||||
|
|
||||||
|
/*===========================================================================
|
||||||
|
===========================================================================*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
Reference in New Issue
Block a user