Hi Albert,
The right FilterName is "MS Word 2007 XML".
And no ... you dont have to provide a XComponent.
It should work if you use "private:stream" + FilterName + XInputStream.
On the other side your example code showed me you have a valid URL ...
and I was wondering why you dont used it here .-)
Please note: Loading documents into OOo only by using streams (means
URL=private:stream) wont have the same detection rate then using real
and valid URL's ! As I've already mentioned ... some formats are
ambigous. Providing a stream only wont solve that ambigous state. You
have to provide MORE informations as e.g.
MimeType/Extension/FilterName/TypeName/TargetApplicationName to make
sure things will happen right.
Regards
Andreas
Hi Steffen,
Okay, that's worth a try... <a few minutes later>. Ya, it didn't work.
Perhaps I'm using the wrong filter name. I've used the
following filter names to no success.
"Microsoft Word 2007 XML"
"writer_MS_Word_2007"
"MOOX"
Did I use the proper one?
-
Albert
-----Original Message-----
From: steffen.gr...@sun.com [mailto:steffen.gr...@sun.com]
Sent: Friday, January 09, 2009 02:50
To: dev@api.openoffice.org
Subject: Re: [api-dev] XComponentLoader.ComponentFromURL throws
IllegalArgumentException: URL seems to be an unsupported one.
Hi Albert,
your code works fine for me. Of course, I used only a simple odt
document. Perhaps the filter for loading the docx document cannot be
determined. You can add this to the properties for loadComponentFromUrl,
the name of the property is FilterName, the value the name of the filter
you'd like to use.
Regards, Steffen
Albert Law wrote:
Hi,
Me, again. :)
I'm having problems with XComponentLoader.ComponentFromURL where it is loading
from an XinputStream. I'm a bit paranoid and don't
want this to be a reoccurance of bug 75191 (
http://www.openoffice.org/issues/show_bug.cgi?id=75191 ). Can anyone see what I
could
have possibly done wrong in the following code? Thanks!
ps: The ultimate goal is to load from a byte[]. This seemed to be a good first
step.
pps: Nothing is null and the file does exist. In fact, I have successfully loaded
from a URL via "XComponent xComponent =
xComponentLoader.loadComponentFromURL("file:///c:/test.docx", "_blank", 0, loadProps);"
where "loadProps" is empty.
ppps: I'm using the most recent version of everything.
[begin]
XComponentContext xContext = Bootstrap.bootstrap();
XMultiComponentFactory xServiceManager = xContext.getServiceManager();
Object desktop =
xServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop",
xContext);
XComponentLoader xComponentLoader =
(XComponentLoader)UnoRuntime.queryInterface(XComponentLoader.class, desktop);
XSimpleFileAccess xSimpleFileAccess =
(XSimpleFileAccess)UnoRuntime.queryInterface(XSimpleFileAccess.class,
xServiceManager.createInstanceWithContext("com.sun.star.ucb.SimpleFileAccess",
xContext));
XInputStream xInputStream =
xSimpleFileAccess.openFileRead("file:///c:/test.docx");
PropertyValue[] loadProps = new PropertyValue[1];
loadProps[0] = new PropertyValue();
loadProps[0].Name = "InputStream";
loadProps[0].Value = xInputStream;
XComponent xComponent = xComponentLoader.loadComponentFromURL("private:stream",
"_blank", 0, loadProps);
[end]
leads to (line numbers are off, of course):
com.sun.star.lang.IllegalArgumentException: URL seems to be an unsupported one.
at
com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:182)
at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:148)
at
com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:344)
at
com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:313)
at
com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:101)
at
com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:652)
at
com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:154)
at
com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:136)
at $Proxy3.loadComponentFromURL(Unknown Source)
at com.snowbound.testOOUno.main(testOOUno.java:223)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.star.lib.loader.Loader.main(Loader.java:144)
-
Albert
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org
For additional commands, e-mail: dev-h...@api.openoffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org
For additional commands, e-mail: dev-h...@api.openoffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org
For additional commands, e-mail: dev-h...@api.openoffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org
For additional commands, e-mail: dev-h...@api.openoffice.org