Oliver Brinzing escribió:
Hi,
i noticed
PackageInformationProvider.get(xContext).getPackageLocation("MyExtension")
returns a string url, for example:
file:///c:/programs/soffice/OOo-dev%203/program/../share/uno_packages/cache/uno_packages/61.tmp_/myextension.oxt
How can one convert the url to an external one (for example replace the %20
with a space) ?
Is there a helper service ?
Hi Oliver
you can convert that URL to a system path:
/**
* Converts a (file) URL to a file path in system dependent notation.
* @param sFileURL
* @return
*/
public static String convertFromURL(
XComponentContext xContext,
String sFileURL) {
String sSystemPath = null;
try {
com.sun.star.ucb.XFileIdentifierConverter xFileConverter =
(com.sun.star.ucb.XFileIdentifierConverter)
UnoRuntime.queryInterface(
com.sun.star.ucb.XFileIdentifierConverter.class,
xContext.getServiceManager().createInstanceWithContext(
"com.sun.star.ucb.FileContentProvider", xContext));
sSystemPath =
xFileConverter.getSystemPathFromFileURL(sFileURL);
} catch (java.lang.Exception e) {
e.printStackTrace();
} finally {
return sSystemPath;
}
}
//*********************************************************************
/**
* Converts a system path into an URL using OOo API
* @param sBase
* @param sSystemPath
* @return
*/
public static String convertToURL(
XComponentContext xContext,
String sBase,
String sSystemPath) {
String sURL = null;
try {
com.sun.star.ucb.XFileIdentifierConverter xFileConverter =
(com.sun.star.ucb.XFileIdentifierConverter)
UnoRuntime.queryInterface(
com.sun.star.ucb.XFileIdentifierConverter.class,
xContext.getServiceManager().createInstanceWithContext(
"com.sun.star.ucb.FileContentProvider", xContext));
sURL = xFileConverter.getFileURLFromSystemPath(
sBase, sSystemPath);
} catch (java.lang.Exception e) {
e.printStackTrace();
} finally {
return sURL;
}
}
//**************************************************************************
In Linux, if I try with the following path with non ASCII chars
/home/ariel/Música/Mozart/Die Zauberflöte, the results are
path /home/ariel/Música/Mozart/Die Zauberflöte
to URL file:///home/ariel/M%C3%BAsica/Mozart/Die%20Zauberfl%C3%B6te
from URL /home/ariel/Música/Mozart/Die Zauberflöte
Of course there is a Java-API way to achieve the same (you will find it
in [old/most/all] SKD examples), but let's use OOo API ;-)
Regards
Ariel.
--
Ariel Constenla-Haile
La Plata, Argentina
[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://www.ArielConstenlaHaile.com.ar/ooo/
"Aus der Kriegsschule des Lebens
- Was mich nicht umbringt,
macht mich härter."
Nietzsche Götzendämmerung, Sprüche und Pfeile, 8.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]