Tobias Krais wrote:
Hi Stephan,


Construction of URL's isnt realy platform independend here. You should
the JAVA classes File/URL/URI to create real URL's.
But be aware of a bug inside these JAVA classes. They construct file
URL's like "file:/test/file.txt", which does not represent valid file
URLs. You have to establish a workaround for that and convert "file:/"
hardly to "file:///".


com.sun.star.uri.ExternalUriReferenceTranslator is the UNO service to use


it tool a while till I found in the web how to use this class... I
solved it this way:
-----%<-----
// Conditions XComponentContext xRemoteContext = Bootstrap.bootstrap();

java.io.File newfile = new java.io.File("/tmp/test.odt");
java.net.URL before = null;
try
{
    before = newfile.toURL();
}
catch (MalformedURLException e) {
    System.out.println(e);
}
// Create a URL, which can be used by UNO
String myUNOFileURL =  ExternalUriReferenceTranslator
   .create(xRemoteContext).translateToInternal(before.toExternalForm());
-----%<-----

Thanks for the hint. This is now a really good solution :-)

You might also want to add some error handling, see the fine print at <http://api.openoffice.org/docs/common/ref/com/sun/star/uri/XExternalUriReferenceTranslator.html#translateToInternal>:

  String s1 = before.toExternalForm();
  String s2 = ExternalUriReferenceTranslator.create(xRemoteContext).
    translateToInternal(s1);
  if (s2.equals("") && !s1.equals("")) {
    // s1 cannot be translated...
  }

-Stephan

Greetings, Tobias

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to