Hello,

Now that I have added a UNO Object of IDL type Content, there are some
methods that need to be implemented.
Out of which, com.sun.star.ucb.XContentIdentifier getIdentifier() is one of
them.
I have read the api reference for XContentIdentifier.

It needs XComponentContext as an argument for its constructor.

That can be obtained from the argument to the constructor of my UCP class.
But, my question is what is identifier?
Is it the name of the file/folder ?
Also, the second method, getContentProviderScheme()
does it refer to the way of writing the path as cmis://<path> ?




On Sun, Jun 2, 2013 at 6:06 AM, Ariel Constenla-Haile <arie...@apache.org>wrote:

> Hi Rajath,
>
> On Sun, Jun 02, 2013 at 12:12:11AM +0530, Rajath Shashidhara wrote:
> > Hello,
> >
> > I read the wikipages about UCB and UCP(all the links in these mails), One
> > thing I did not understand is:
> > What functions are called under what situations from the UCP?
> > What are those functions supposed to do?
> >
> > For example:
> > what is the function:
> > registerInstance() supposed to do?
> >
> > What should be implemented in each of these methods?
>
> In these cases, you have to consult the API reference:
>
> http://www.openoffice.org/api/docs/common/ref/com/sun/star/ucb/ContentProvider.html
> Both XContentIdentifierFactory and XParameterizedContentProvider are
> optional.
>
> This is a little tricky: in general, an optional interface means that
> you don't need to implement it if you don't need to; but in several
> cases, new properties and interfaces are introduced as optional, as
> a workaround, just because the service is published and cannot be
> modified.
>
> For now, only implement the required interfaces, comment out the
> optional ones, and later on, when you have the whole picture, you can
> come back to this.
>
> The main interface for the css.ucb.ContentProvider is
> css.ucb.XContentProvider. Concentrate on queryContent()
>
> http://www.openoffice.org/api/docs/common/ref/com/sun/star/ucb/XContentProvider.html#queryContent
>
> "creates a new XContent instance, if the given XContentIdentifier
> matches a content provided by the implementation of this interface."
>
> If the content identifier is supported by your implementation (did you
> already define this?), you have to return an object implementing
> http://www.openoffice.org/api/docs/common/ref/com/sun/star/ucb/Content.html
> Here again, some interface are optionals; and in the documentation of
> XCommandProcessor in this page you can find the set of commands and
> properties, some are mandatory, some are optional.
>
> To create this new Java UNO object, right-click on the package, and
> select New - Other.... On the "New File" dialog, choose "Apache
> OpenOffice" under "Categories" and "Java UNO Object" under "File Types".
> On the next step, select com.sun.star.ucb.Content as the "IDL Type" to
> implement.
>
> IMO it is better to start implementing this step by step, and not using
> the file picker to test, but a macro, like this one:
> http://people.apache.org/~arielch/api/UCB_demo.odt
>
> Start with  "getPropertyValues" and do not bother by now with
> authentication (this is a rather complex subject, IMO it is better to
> get a general picture now), simply hard-code user and password in your
> code. You can try with http://cmis.alfresco.com/ (with user=admin and
> password=admin) or set-up your own server.
>
> "getPropertyValues" is the most basic UCB command. You have to implement
> the mandatory properties. And implemente it in a way that you don't
> download the file from the server, but simply read the metadata, see
> http://chemistry.apache.org/java/examples/example-read-meta-content.html
> You have to map CMIS metadata with UCB properties.
>
>
> Regards
> --
> Ariel Constenla-Haile
> La Plata, Argentina
>



-- 
Rajath S,
M.Sc(Hons.) Physics,
Birla Institute of Technology and Science - Pilani,
Pilani

Reply via email to