Kaydet (Commit) 4c96d00b authored tarafından Rüdiger Timm's avatar Rüdiger Timm

INTEGRATION: CWS xmlfix2 (1.3.112); FILE MERGED

2008/05/15 17:30:15 mst 1.3.112.2: RESYNC: (1.3-1.5); FILE MERGED
2008/03/31 14:37:06 mst 1.3.112.1: #i81678#: interface change: XXPathAPI
- desktop/source/deployment/registry/package/dp_package.cxx,
  desktop/source/deployment/misc/dp_descriptioninfoset.cxx,
  desktop/source/deployment/gui/dp_gui_update{,install}dialog.cxx:
  + adapt to changes in css.xml.xpath.XXPathAPI
üst 0bf6fe82
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite * OpenOffice.org - a multi-platform office productivity suite
* *
* $RCSfile: dp_descriptioninfoset.cxx,v $ * $RCSfile: dp_descriptioninfoset.cxx,v $
* $Revision: 1.5 $ * $Revision: 1.6 $
* *
* This file is part of OpenOffice.org. * This file is part of OpenOffice.org.
* *
...@@ -152,9 +152,12 @@ DescriptionInfoset::~DescriptionInfoset() {} ...@@ -152,9 +152,12 @@ DescriptionInfoset::~DescriptionInfoset() {}
::rtl::OUString DescriptionInfoset::getNodeValueFromExpression(::rtl::OUString const & expression) const ::rtl::OUString DescriptionInfoset::getNodeValueFromExpression(::rtl::OUString const & expression) const
{ {
css::uno::Reference< css::xml::dom::XNode > n; css::uno::Reference< css::xml::dom::XNode > n;
if (m_element.is()) if (m_element.is()) {
{ try {
n = m_xpath->selectSingleNode(m_element, expression); n = m_xpath->selectSingleNode(m_element, expression);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
} }
return n.is() ? getNodeValue(n) : ::rtl::OUString(); return n.is() ? getNodeValue(n) : ::rtl::OUString();
} }
...@@ -206,11 +209,15 @@ css::uno::Sequence< ::rtl::OUString > DescriptionInfoset::getSupportedPlaforms() ...@@ -206,11 +209,15 @@ css::uno::Sequence< ::rtl::OUString > DescriptionInfoset::getSupportedPlaforms()
css::uno::Reference< css::xml::dom::XNodeList > css::uno::Reference< css::xml::dom::XNodeList >
DescriptionInfoset::getDependencies() const { DescriptionInfoset::getDependencies() const {
return m_element.is() if (m_element.is()) {
? m_xpath->selectNodeList( try {
m_element, return m_xpath->selectNodeList(m_element, ::rtl::OUString(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("desc:dependencies/*"))) RTL_CONSTASCII_USTRINGPARAM("desc:dependencies/*")));
: new EmptyNodeList; } catch (css::xml::xpath::XPathException &) {
// ignore
}
}
return new EmptyNodeList;
} }
css::uno::Sequence< ::rtl::OUString > css::uno::Sequence< ::rtl::OUString >
...@@ -255,7 +262,11 @@ css::uno::Reference< css::xml::xpath::XXPathAPI > DescriptionInfoset::getXpath() ...@@ -255,7 +262,11 @@ css::uno::Reference< css::xml::xpath::XXPathAPI > DescriptionInfoset::getXpath()
{ {
css::uno::Reference< css::xml::dom::XNode > n; css::uno::Reference< css::xml::dom::XNode > n;
if (m_element.is()) { if (m_element.is()) {
n = m_xpath->selectSingleNode(m_element, expression); try {
n = m_xpath->selectSingleNode(m_element, expression);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
} }
return n.is() return n.is()
? ::boost::optional< ::rtl::OUString >(getNodeValue(n)) ? ::boost::optional< ::rtl::OUString >(getNodeValue(n))
...@@ -267,7 +278,11 @@ css::uno::Sequence< ::rtl::OUString > DescriptionInfoset::getUrls( ...@@ -267,7 +278,11 @@ css::uno::Sequence< ::rtl::OUString > DescriptionInfoset::getUrls(
{ {
css::uno::Reference< css::xml::dom::XNodeList > ns; css::uno::Reference< css::xml::dom::XNodeList > ns;
if (m_element.is()) { if (m_element.is()) {
ns = m_xpath->selectNodeList(m_element, expression); try {
ns = m_xpath->selectNodeList(m_element, expression);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
} }
css::uno::Sequence< ::rtl::OUString > urls(ns.is() ? ns->getLength() : 0); css::uno::Sequence< ::rtl::OUString > urls(ns.is() ? ns->getLength() : 0);
for (::sal_Int32 i = 0; i < urls.getLength(); ++i) { for (::sal_Int32 i = 0; i < urls.getLength(); ++i) {
...@@ -286,13 +301,23 @@ css::uno::Sequence< ::rtl::OUString > DescriptionInfoset::getUrls( ...@@ -286,13 +301,23 @@ css::uno::Sequence< ::rtl::OUString > DescriptionInfoset::getUrls(
if (node.is()) if (node.is())
{ {
const ::rtl::OUString exp1(RTL_CONSTASCII_USTRINGPARAM("text()")); const ::rtl::OUString exp1(RTL_CONSTASCII_USTRINGPARAM("text()"));
css::uno::Reference< css::xml::dom::XNode > xPathName = m_xpath->selectSingleNode(node, exp1); css::uno::Reference< css::xml::dom::XNode > xPathName;
try {
xPathName = m_xpath->selectSingleNode(node, exp1);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
OSL_ASSERT(xPathName.is()); OSL_ASSERT(xPathName.is());
if (xPathName.is()) if (xPathName.is())
sPublisherName = xPathName->getNodeValue(); sPublisherName = xPathName->getNodeValue();
const ::rtl::OUString exp2(RTL_CONSTASCII_USTRINGPARAM("@xlink:href")); const ::rtl::OUString exp2(RTL_CONSTASCII_USTRINGPARAM("@xlink:href"));
css::uno::Reference< css::xml::dom::XNode > xURL = m_xpath->selectSingleNode(node, exp2); css::uno::Reference< css::xml::dom::XNode > xURL;
try {
xURL = m_xpath->selectSingleNode(node, exp2);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
OSL_ASSERT(xURL.is()); OSL_ASSERT(xURL.is());
if (xURL.is()) if (xURL.is())
sURL = xURL->getNodeValue(); sURL = xURL->getNodeValue();
...@@ -313,7 +338,12 @@ css::uno::Sequence< ::rtl::OUString > DescriptionInfoset::getUrls( ...@@ -313,7 +338,12 @@ css::uno::Sequence< ::rtl::OUString > DescriptionInfoset::getUrls(
if (node.is()) if (node.is())
{ {
const ::rtl::OUString exp(RTL_CONSTASCII_USTRINGPARAM("text()")); const ::rtl::OUString exp(RTL_CONSTASCII_USTRINGPARAM("text()"));
css::uno::Reference< css::xml::dom::XNode > xtext = m_xpath->selectSingleNode(node, exp); css::uno::Reference< css::xml::dom::XNode > xtext;
try {
xtext = m_xpath->selectSingleNode(node, exp);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
if (xtext.is()) if (xtext.is())
return xtext->getNodeValue(); return xtext->getNodeValue();
} }
...@@ -333,8 +363,12 @@ DescriptionInfoset::getLocalizedChild( const ::rtl::OUString & sParent) const ...@@ -333,8 +363,12 @@ DescriptionInfoset::getLocalizedChild( const ::rtl::OUString & sParent) const
if ( ! m_element.is() || !sParent.getLength()) if ( ! m_element.is() || !sParent.getLength())
return css::uno::Reference< css::xml::dom::XNode > (); return css::uno::Reference< css::xml::dom::XNode > ();
css::uno::Reference< css::xml::dom::XNode > xParent = css::uno::Reference< css::xml::dom::XNode > xParent;
m_xpath->selectSingleNode(m_element, sParent); try {
xParent = m_xpath->selectSingleNode(m_element, sParent);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
css::uno::Reference<css::xml::dom::XNode> nodeMatch; css::uno::Reference<css::xml::dom::XNode> nodeMatch;
if (xParent.is()) if (xParent.is())
{ {
...@@ -367,7 +401,12 @@ DescriptionInfoset::matchFullLocale(css::uno::Reference< css::xml::dom::XNode > ...@@ -367,7 +401,12 @@ DescriptionInfoset::matchFullLocale(css::uno::Reference< css::xml::dom::XNode >
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*[@lang=\"")) ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*[@lang=\""))
+ sLocale + + sLocale +
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"]"))); ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"]")));
return m_xpath->selectSingleNode(xParent, exp1); try {
return m_xpath->selectSingleNode(xParent, exp1);
} catch (css::xml::xpath::XPathException &) {
// ignore
return 0;
}
} }
css::uno::Reference<css::xml::dom::XNode> css::uno::Reference<css::xml::dom::XNode>
...@@ -387,7 +426,11 @@ DescriptionInfoset::matchCountryAndLanguage( ...@@ -387,7 +426,11 @@ DescriptionInfoset::matchCountryAndLanguage(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*[@lang=\"")) ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*[@lang=\""))
+ sLangCountry + + sLangCountry +
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"]"))); ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"]")));
nodeMatch = m_xpath->selectSingleNode(xParent, exp1); try {
nodeMatch = m_xpath->selectSingleNode(xParent, exp1);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
//try to match in strings that also have a variant, for example en-US matches in //try to match in strings that also have a variant, for example en-US matches in
//en-US-montana //en-US-montana
...@@ -397,7 +440,11 @@ DescriptionInfoset::matchCountryAndLanguage( ...@@ -397,7 +440,11 @@ DescriptionInfoset::matchCountryAndLanguage(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*[starts-with(@lang,\"")) ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*[starts-with(@lang,\""))
+ sLangCountry + + sLangCountry +
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-\")]"))); ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-\")]")));
nodeMatch = m_xpath->selectSingleNode(xParent, exp2); try {
nodeMatch = m_xpath->selectSingleNode(xParent, exp2);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
} }
} }
...@@ -417,7 +464,11 @@ DescriptionInfoset::matchLanguage( ...@@ -417,7 +464,11 @@ DescriptionInfoset::matchLanguage(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*[@lang=\"")) ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*[@lang=\""))
+ officeLocale.Language + officeLocale.Language
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"]"))); + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"]")));
nodeMatch = m_xpath->selectSingleNode(xParent, exp1); try {
nodeMatch = m_xpath->selectSingleNode(xParent, exp1);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
//try to match in strings that also have a country and/orvariant, for example en matches in //try to match in strings that also have a country and/orvariant, for example en matches in
//en-US-montana, en-US, en-montana //en-US-montana, en-US, en-montana
...@@ -427,7 +478,11 @@ DescriptionInfoset::matchLanguage( ...@@ -427,7 +478,11 @@ DescriptionInfoset::matchLanguage(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*[starts-with(@lang,\"")) ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("*[starts-with(@lang,\""))
+ officeLocale.Language + officeLocale.Language
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-\")]"))); + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-\")]")));
nodeMatch = m_xpath->selectSingleNode(xParent, exp2); try {
nodeMatch = m_xpath->selectSingleNode(xParent, exp2);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
} }
return nodeMatch; return nodeMatch;
} }
...@@ -439,9 +494,13 @@ DescriptionInfoset::getChildWithDefaultLocale(css::uno::Reference< css::xml::dom ...@@ -439,9 +494,13 @@ DescriptionInfoset::getChildWithDefaultLocale(css::uno::Reference< css::xml::dom
OSL_ASSERT(xParent.is()); OSL_ASSERT(xParent.is());
if (xParent->getNodeName().equals(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("simple-license")))) if (xParent->getNodeName().equals(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("simple-license"))))
{ {
css::uno::Reference<css::xml::dom::XNode> nodeDefault = css::uno::Reference<css::xml::dom::XNode> nodeDefault;
m_xpath->selectSingleNode(xParent, ::rtl::OUString( try {
nodeDefault = m_xpath->selectSingleNode(xParent, ::rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("@default-license-id"))); RTL_CONSTASCII_USTRINGPARAM("@default-license-id")));
} catch (css::xml::xpath::XPathException &) {
// ignore
}
if (nodeDefault.is()) if (nodeDefault.is())
{ {
//The old way //The old way
...@@ -449,12 +508,21 @@ DescriptionInfoset::getChildWithDefaultLocale(css::uno::Reference< css::xml::dom ...@@ -449,12 +508,21 @@ DescriptionInfoset::getChildWithDefaultLocale(css::uno::Reference< css::xml::dom
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("desc:license-text[@license-id = \"")) ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("desc:license-text[@license-id = \""))
+ nodeDefault->getNodeValue() + nodeDefault->getNodeValue()
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"]"))); + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"]")));
return m_xpath->selectSingleNode(xParent, exp1); try {
return m_xpath->selectSingleNode(xParent, exp1);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
} }
} }
const ::rtl::OUString exp2(RTL_CONSTASCII_USTRINGPARAM("*[1]")); const ::rtl::OUString exp2(RTL_CONSTASCII_USTRINGPARAM("*[1]"));
return m_xpath->selectSingleNode(xParent, exp2); try {
return m_xpath->selectSingleNode(xParent, exp2);
} catch (css::xml::xpath::XPathException &) {
// ignore
return 0;
}
} }
::rtl::OUString DescriptionInfoset::getLocalizedHREFAttrFromChild( ::rtl::OUString DescriptionInfoset::getLocalizedHREFAttrFromChild(
...@@ -470,7 +538,12 @@ DescriptionInfoset::getChildWithDefaultLocale(css::uno::Reference< css::xml::dom ...@@ -470,7 +538,12 @@ DescriptionInfoset::getChildWithDefaultLocale(css::uno::Reference< css::xml::dom
if (out_bParentExists) if (out_bParentExists)
*out_bParentExists = true; *out_bParentExists = true;
const ::rtl::OUString exp(RTL_CONSTASCII_USTRINGPARAM("@xlink:href")); const ::rtl::OUString exp(RTL_CONSTASCII_USTRINGPARAM("@xlink:href"));
css::uno::Reference< css::xml::dom::XNode > xURL = m_xpath->selectSingleNode(node, exp); css::uno::Reference< css::xml::dom::XNode > xURL;
try {
xURL = m_xpath->selectSingleNode(node, exp);
} catch (css::xml::xpath::XPathException &) {
// ignore
}
OSL_ASSERT(xURL.is()); OSL_ASSERT(xURL.is());
if (xURL.is()) if (xURL.is())
sURL = xURL->getNodeValue(); sURL = xURL->getNodeValue();
......
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