Kaydet (Commit) f53517a5 authored tarafından Noel Grandin's avatar Noel Grandin

fdo#46808, convert xml::xpath::XPathAPI to new-style service

Change-Id: I54bb0eb08d687e7d54c42601c826c580a7a17ebb
üst fa3c9a90
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
#include "com/sun/star/xml/dom/XNode.hpp" #include "com/sun/star/xml/dom/XNode.hpp"
#include "com/sun/star/xml/dom/XNodeList.hpp" #include "com/sun/star/xml/dom/XNodeList.hpp"
#include "com/sun/star/xml/dom/DocumentBuilder.hpp" #include "com/sun/star/xml/dom/DocumentBuilder.hpp"
#include "com/sun/star/xml/xpath/XXPathAPI.hpp" #include "com/sun/star/xml/xpath/XPathAPI.hpp"
#include "com/sun/star/ucb/InteractiveIOException.hpp" #include "com/sun/star/ucb/InteractiveIOException.hpp"
#include "cppuhelper/implbase1.hxx" #include "cppuhelper/implbase1.hxx"
#include "cppuhelper/implbase2.hxx" #include "cppuhelper/implbase2.hxx"
...@@ -349,14 +349,8 @@ DescriptionInfoset::DescriptionInfoset( ...@@ -349,14 +349,8 @@ DescriptionInfoset::DescriptionInfoset(
m_context(context), m_context(context),
m_element(element) m_element(element)
{ {
css::uno::Reference< css::lang::XMultiComponentFactory > manager(
context->getServiceManager(), css::uno::UNO_QUERY_THROW);
if (m_element.is()) { if (m_element.is()) {
m_xpath = css::uno::Reference< css::xml::xpath::XXPathAPI >( m_xpath = css::xml::xpath::XPathAPI::create(context);
manager->createInstanceWithContext(
"com.sun.star.xml.xpath.XPathAPI",
context),
css::uno::UNO_QUERY_THROW);
m_xpath->registerNS("desc", element->getNamespaceURI()); m_xpath->registerNS("desc", element->getNamespaceURI());
m_xpath->registerNS("xlink", "http://www.w3.org/1999/xlink"); m_xpath->registerNS("xlink", "http://www.w3.org/1999/xlink");
} }
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#include "osl/file.hxx" #include "osl/file.hxx"
#include "com/sun/star/uno/XComponentContext.hpp" #include "com/sun/star/uno/XComponentContext.hpp"
#include "com/sun/star/xml/dom/DocumentBuilder.hpp" #include "com/sun/star/xml/dom/DocumentBuilder.hpp"
#include "com/sun/star/xml/xpath/XXPathAPI.hpp" #include "com/sun/star/xml/xpath/XPathAPI.hpp"
#include "com/sun/star/io/XActiveDataSource.hpp" #include "com/sun/star/io/XActiveDataSource.hpp"
#include "com/sun/star/io/XActiveDataControl.hpp" #include "com/sun/star/io/XActiveDataControl.hpp"
#include "dp_ucb.h" #include "dp_ucb.h"
...@@ -111,17 +111,9 @@ Reference<css::xml::xpath::XXPathAPI> BackendDb::getXPathAPI() ...@@ -111,17 +111,9 @@ Reference<css::xml::xpath::XXPathAPI> BackendDb::getXPathAPI()
{ {
if (!m_xpathApi.is()) if (!m_xpathApi.is())
{ {
m_xpathApi = Reference< css::xml::xpath::XXPathAPI >( m_xpathApi = css::xml::xpath::XPathAPI::create( m_xContext );
m_xContext->getServiceManager()->createInstanceWithContext(
"com.sun.star.xml.xpath.XPathAPI",
m_xContext), css::uno::UNO_QUERY);
if (!m_xpathApi.is()) m_xpathApi->registerNS( getNSPrefix(), getDbNSName() );
throw css::uno::RuntimeException(
" Could not create service com.sun.star.xml.xpath.XPathAPI", 0);
m_xpathApi->registerNS(
getNSPrefix(), getDbNSName());
} }
return m_xpathApi; return m_xpathApi;
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
#include <com/sun/star/ucb/TransferInfo.hpp> #include <com/sun/star/ucb/TransferInfo.hpp>
#include <com/sun/star/ucb/NameClash.hpp> #include <com/sun/star/ucb/NameClash.hpp>
#include <com/sun/star/ucb/XCommandEnvironment.hpp> #include <com/sun/star/ucb/XCommandEnvironment.hpp>
#include <com/sun/star/xml/xpath/XXPathAPI.hpp> #include <com/sun/star/xml/xpath/XPathAPI.hpp>
#include <com/sun/star/xml/dom/DocumentBuilder.hpp> #include <com/sun/star/xml/dom/DocumentBuilder.hpp>
#include <com/sun/star/beans/NamedValue.hpp> #include <com/sun/star/beans/NamedValue.hpp>
#include <com/sun/star/deployment/ExtensionManager.hpp> #include <com/sun/star/deployment/ExtensionManager.hpp>
...@@ -228,10 +228,7 @@ bool OO3ExtensionMigration::scanDescriptionXml( const ::rtl::OUString& sDescript ...@@ -228,10 +228,7 @@ bool OO3ExtensionMigration::scanDescriptionXml( const ::rtl::OUString& sDescript
uno::Reference< xml::dom::XElement > xRoot = xDoc->getDocumentElement(); uno::Reference< xml::dom::XElement > xRoot = xDoc->getDocumentElement();
if ( xRoot.is() && xRoot->getTagName() == "description" ) if ( xRoot.is() && xRoot->getTagName() == "description" )
{ {
uno::Reference< xml::xpath::XXPathAPI > xPath( uno::Reference< xml::xpath::XXPathAPI > xPath = xml::xpath::XPathAPI::create(m_ctx);
m_ctx->getServiceManager()->createInstanceWithContext( "com.sun.star.xml.xpath.XPathAPI",
m_ctx),
uno::UNO_QUERY);
xPath->registerNS("desc", xRoot->getNamespaceURI()); xPath->registerNS("desc", xRoot->getNamespaceURI());
xPath->registerNS("xlink", "http://www.w3.org/1999/xlink"); xPath->registerNS("xlink", "http://www.w3.org/1999/xlink");
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 . * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/ */
#include <com/sun/star/xml/xpath/XXPathAPI.hpp> #include <com/sun/star/xml/xpath/XPathAPI.hpp>
#include "updateprotocol.hxx" #include "updateprotocol.hxx"
#include "updatecheckconfig.hxx" #include "updatecheckconfig.hxx"
...@@ -123,9 +123,7 @@ checkForUpdates( ...@@ -123,9 +123,7 @@ checkForUpdates(
OSL_ASSERT( rxContext->getServiceManager().is() ); OSL_ASSERT( rxContext->getServiceManager().is() );
// XPath implementation // XPath implementation
uno::Reference< xml::xpath::XXPathAPI > xXPath( uno::Reference< xml::xpath::XXPathAPI > xXPath = xml::xpath::XPathAPI::create(rxContext);
rxContext->getServiceManager()->createInstanceWithContext( UNISTRING( "com.sun.star.xml.xpath.XPathAPI" ), rxContext ),
uno::UNO_QUERY_THROW);
xXPath->registerNS( UNISTRING("inst"), UNISTRING("http://update.libreoffice.org/description") ); xXPath->registerNS( UNISTRING("inst"), UNISTRING("http://update.libreoffice.org/description") );
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
#include <com/sun/star/sdbc/XRow.hpp> #include <com/sun/star/sdbc/XRow.hpp>
#include <com/sun/star/task/PasswordContainerInteractionHandler.hpp> #include <com/sun/star/task/PasswordContainerInteractionHandler.hpp>
#include <com/sun/star/xml/dom/DocumentBuilder.hpp> #include <com/sun/star/xml/dom/DocumentBuilder.hpp>
#include <com/sun/star/xml/xpath/XXPathAPI.hpp> #include <com/sun/star/xml/xpath/XPathAPI.hpp>
#include <rtl/ref.hxx> #include <rtl/ref.hxx>
#include <rtl/bootstrap.hxx> #include <rtl/bootstrap.hxx>
...@@ -391,21 +391,13 @@ UpdateInformationProvider::UpdateInformationProvider( ...@@ -391,21 +391,13 @@ UpdateInformationProvider::UpdateInformationProvider(
uno::Reference< uno::XInterface > uno::Reference< uno::XInterface >
UpdateInformationProvider::createInstance(const uno::Reference<uno::XComponentContext>& xContext) UpdateInformationProvider::createInstance(const uno::Reference<uno::XComponentContext>& xContext)
{ {
uno::Reference< lang::XMultiComponentFactory > xServiceManager(xContext->getServiceManager());
if( !xServiceManager.is() )
throw uno::RuntimeException(
UNISTRING( "unable to obtain service manager from component context" ),
uno::Reference< uno::XInterface > ());
uno::Reference< ucb::XUniversalContentBroker > xUniversalContentBroker = uno::Reference< ucb::XUniversalContentBroker > xUniversalContentBroker =
ucb::UniversalContentBroker::create(xContext); ucb::UniversalContentBroker::create(xContext);
uno::Reference< xml::dom::XDocumentBuilder > xDocumentBuilder( uno::Reference< xml::dom::XDocumentBuilder > xDocumentBuilder(
xml::dom::DocumentBuilder::create(xContext)); xml::dom::DocumentBuilder::create(xContext));
uno::Reference< xml::xpath::XXPathAPI > xXPath( uno::Reference< xml::xpath::XXPathAPI > xXPath = xml::xpath::XPathAPI::create( xContext );
xServiceManager->createInstanceWithContext( UNISTRING( "com.sun.star.xml.xpath.XPathAPI" ), xContext ),
uno::UNO_QUERY_THROW);
xXPath->registerNS( UNISTRING("atom"), UNISTRING("http://www.w3.org/2005/Atom") ); xXPath->registerNS( UNISTRING("atom"), UNISTRING("http://www.w3.org/2005/Atom") );
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
#include <com/sun/star/uno/Sequence.hxx> #include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/xml/dom/NodeType.hpp> #include <com/sun/star/xml/dom/NodeType.hpp>
#include <com/sun/star/xml/dom/XNode.hpp> #include <com/sun/star/xml/dom/XNode.hpp>
#include <com/sun/star/xml/xpath/XXPathAPI.hpp> #include <com/sun/star/xml/xpath/XPathAPI.hpp>
#include <com/sun/star/xml/xpath/XXPathObject.hpp> #include <com/sun/star/xml/xpath/XXPathObject.hpp>
#include <com/sun/star/xml/xpath/XXPathExtension.hpp> #include <com/sun/star/xml/xpath/XXPathExtension.hpp>
#include <com/sun/star/beans/NamedValue.hpp> #include <com/sun/star/beans/NamedValue.hpp>
...@@ -45,6 +45,7 @@ using com::sun::star::lang::XInitialization; ...@@ -45,6 +45,7 @@ using com::sun::star::lang::XInitialization;
using com::sun::star::lang::XMultiServiceFactory; using com::sun::star::lang::XMultiServiceFactory;
using com::sun::star::xml::dom::XNode; using com::sun::star::xml::dom::XNode;
using com::sun::star::container::XNameContainer; using com::sun::star::container::XNameContainer;
using com::sun::star::xml::xpath::XPathAPI;
using com::sun::star::xml::xpath::XXPathAPI; using com::sun::star::xml::xpath::XXPathAPI;
using com::sun::star::xml::xpath::XXPathExtension; using com::sun::star::xml::xpath::XXPathExtension;
using com::sun::star::xml::xpath::XXPathObject; using com::sun::star::xml::xpath::XXPathObject;
...@@ -189,10 +190,7 @@ bool ComputedExpression::getBool( bool bDefault ) const ...@@ -189,10 +190,7 @@ bool ComputedExpression::getBool( bool bDefault ) const
Reference<XXPathAPI> ComputedExpression::_getXPathAPI(const xforms::EvaluationContext& aContext) Reference<XXPathAPI> ComputedExpression::_getXPathAPI(const xforms::EvaluationContext& aContext)
{ {
// create XPath API, then register namespaces // create XPath API, then register namespaces
Reference<XXPathAPI> xXPath( createInstance( Reference<XXPathAPI> xXPath( XPathAPI::create( comphelper::getProcessComponentContext() ) );
"com.sun.star.xml.xpath.XPathAPI" ),
UNO_QUERY_THROW );
OSL_ENSURE( xXPath.is(), "cannot get XPath API" );
// register xforms extension# // register xforms extension#
Sequence< Any > aSequence(2); Sequence< Any > aSequence(2);
......
...@@ -368,6 +368,9 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/xml/sax,\ ...@@ -368,6 +368,9 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/xml/sax,\
Parser \ Parser \
Writer \ Writer \
)) ))
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/xml/xpath,\
XPathAPI \
))
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/xml/xslt,\ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/xml/xslt,\
XSLTTransformer \ XSLTTransformer \
XSLT2Transformer \ XSLT2Transformer \
...@@ -1539,7 +1542,6 @@ $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/xml/wra ...@@ -1539,7 +1542,6 @@ $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/xml/wra
XMLElementWrapper \ XMLElementWrapper \
)) ))
$(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/xml/xpath,\ $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/xml/xpath,\
XPathAPI \
XPathExtension \ XPathExtension \
)) ))
$(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/xsd,\ $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/xsd,\
......
...@@ -24,10 +24,7 @@ ...@@ -24,10 +24,7 @@
module com { module sun { module star { module xml { module xpath { module com { module sun { module star { module xml { module xpath {
service XPathAPI service XPathAPI : XXPathAPI;
{
interface XXPathAPI;
};
};};};};}; };};};};};
#endif #endif
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
#include "com/sun/star/xml/dom/DocumentBuilder.hpp" #include "com/sun/star/xml/dom/DocumentBuilder.hpp"
#include "com/sun/star/xml/dom/XSAXDocumentBuilder.hpp" #include "com/sun/star/xml/dom/XSAXDocumentBuilder.hpp"
#include "com/sun/star/xml/dom/NodeType.hpp" #include "com/sun/star/xml/dom/NodeType.hpp"
#include "com/sun/star/xml/xpath/XXPathAPI.hpp" #include "com/sun/star/xml/xpath/XPathAPI.hpp"
#include "com/sun/star/util/Date.hpp" #include "com/sun/star/util/Date.hpp"
#include "com/sun/star/util/Time.hpp" #include "com/sun/star/util/Time.hpp"
#include "com/sun/star/util/Duration.hpp" #include "com/sun/star/util/Duration.hpp"
...@@ -1144,15 +1144,7 @@ void SAL_CALL SfxDocumentMetaData::init( ...@@ -1144,15 +1144,7 @@ void SAL_CALL SfxDocumentMetaData::init(
::rtl::OUString( ::rtl::OUString(
"SfxDocumentMetaData::init: no DOM tree given"), *this); "SfxDocumentMetaData::init: no DOM tree given"), *this);
css::uno::Reference<css::lang::XMultiComponentFactory> xMsf ( css::uno::Reference<css::xml::xpath::XXPathAPI> xPath = css::xml::xpath::XPathAPI::create(m_xContext);
m_xContext->getServiceManager());
css::uno::Reference<css::xml::xpath::XXPathAPI> xPath(
xMsf->createInstanceWithContext(::rtl::OUString(
"com.sun.star.xml.xpath.XPathAPI"), m_xContext),
css::uno::UNO_QUERY_THROW );
if (!xPath.is()) throw css::uno::RuntimeException(
::rtl::OUString("SfxDocumentMetaData::init:"
" cannot create XPathAPI service"), *this);
m_isInitialized = false; m_isInitialized = false;
m_xDoc = i_xDoc; m_xDoc = i_xDoc;
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp> #include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
#include <com/sun/star/xml/dom/SAXDocumentBuilder.hpp> #include <com/sun/star/xml/dom/SAXDocumentBuilder.hpp>
#include <com/sun/star/xml/dom/XSAXDocumentBuilder2.hpp> #include <com/sun/star/xml/dom/XSAXDocumentBuilder2.hpp>
#include <com/sun/star/xml/xpath/XXPathAPI.hpp> #include <com/sun/star/xml/xpath/XPathAPI.hpp>
#include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/beans/XPropertySetInfo.hpp> #include <com/sun/star/beans/XPropertySetInfo.hpp>
#include <comphelper/processfactory.hxx> #include <comphelper/processfactory.hxx>
...@@ -151,11 +151,8 @@ lcl_initGenerator(SvXMLImport & rImport, ...@@ -151,11 +151,8 @@ lcl_initGenerator(SvXMLImport & rImport,
uno::Reference< xml::dom::XDocument > const xDoc(xDocBuilder->getDocument(), uno::Reference< xml::dom::XDocument > const xDoc(xDocBuilder->getDocument(),
uno::UNO_SET_THROW); uno::UNO_SET_THROW);
try { try {
uno::Reference< xml::xpath::XXPathAPI > const xPath( uno::Reference< xml::xpath::XXPathAPI > const xPath = xml::xpath::XPathAPI::create(
rImport.getServiceFactory()->createInstance( comphelper::getComponentContext(rImport.getServiceFactory()) );
::rtl::OUString(
"com.sun.star.xml.xpath.XPathAPI")),
uno::UNO_QUERY_THROW );
xPath->registerNS(GetXMLToken(XML_NP_OFFICE),GetXMLToken(XML_N_OFFICE)); xPath->registerNS(GetXMLToken(XML_NP_OFFICE),GetXMLToken(XML_N_OFFICE));
xPath->registerNS(GetXMLToken(XML_NP_META), GetXMLToken(XML_N_META)); xPath->registerNS(GetXMLToken(XML_NP_META), GetXMLToken(XML_N_META));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment