Hello, I think there is a bug in OpenOffice 4. Tools->Options->Security. Macro Security Button link is broken.
On Sun, Jun 2, 2013 at 2:03 PM, Rajath Shashidhara < rajaths.raja...@gmail.com> wrote: > Hello, > > Sorry for asking too many questions. > The method execute in the XContent implementation class I have created, > which has parameters: com.sun.star.ucb.Command aCommand, int CommandId, > com.sun.star.ucb.XCommandEnvironment Environment > > now aCommand object has three attributes: > Name,handle,argument > > So if trying to get Metadata. we use command as getPropertyValues. > "getPropertyValues" is the name of the command, > argument -> which property to get. > What is handle? > > Also what is commandid? Any enumeration to represent various commandids? > > > > On Sun, Jun 2, 2013 at 12:06 PM, Ariel Constenla-Haile <arie...@apache.org > > wrote: > >> >> Hi Rajath, >> >> On Sun, Jun 02, 2013 at 09:58:56AM +0530, Rajath Shashidhara wrote: >> > 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. >> >> XContentIdentifier is a class, it does not have constructor. >> >> http://www.openoffice.org/api/docs/common/ref/com/sun/star/ucb/XContentIdentifier.html >> >> >> > 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> ? >> >> At the beginning you can simply use the default implementation. Try the >> following macro in an office installation without your extension, it >> will return cmis as schema is the identifier starts with cmis:// >> >> >> REM ***** BASIC ***** >> >> Option Explicit >> >> Sub Main >> Dim aMap as Object >> aMap = >> com.sun.star.container.EnumerableMap.create("string","com.sun.star.ucb.XContentIdentifier") >> >> Dim oUCB as Object >> oUCB = CreateUnoService("com.sun.star.ucb.UniversalContentBroker") >> >> Dim sIds() >> sIds = Array(_ >> "file:///tmp",_ >> "http://www.openoffice.org",_ >> "ftp://d...@openoffice.org/test/dummy",_ >> "cmis://cmis.alfresco.com:80/cmisatom/" ) >> Dim sId$ >> For Each sId in sIds >> aMap.put( sId, oUCB.createContentIdentifier( sId ) ) >> Next >> >> Dim oEnum as Object >> oEnum = aMap.createElementEnumeration(false) >> While oEnum.hasMoreElements() >> Dim oPair as Object >> oPair = oEnum.nextElement() >> MsgBox "URL: " + oPair.First + Chr(13) + _ >> "Content ID: " + oPair.Second.getContentIdentifier() + >> Chr(13) + _ >> "Content Scheme: " + >> oPair.Second.getContentProviderScheme() >> Wend >> End Sub >> >> >> If you want to implement the content identifier yourself, just create >> a class that implements XContentIdentifier. >> >> And simply reuse the XContentIdentifier you get in queryContent(): >> >> public XContent queryContent(XContentIdentifier xIdentifier) throws >> IllegalIdentifierException { >> if (!isValidIdentifier(xIdentifier)) { >> throw new IllegalIdentifierException(); >> } >> // Check if a content with given XContentIdentifier already exists >> // TODO implement a cache mechanism, for example a hash map >> // Key: xIdentifier.getContentIdentifier() >> // Value: xIdentifier >> XContent xRet = queryExistingContent(xIdentifier); >> if (xRet != null) { >> return xRet; >> } >> >> CMISContent aContent = new CMISContent(m_xContext, xIdentifier); >> // cache the new content >> registerNewContent(aContent); >> >> return aContent; >> } >> >> >> Regards >> -- >> Ariel Constenla-Haile >> La Plata, Argentina >> > > > > -- > Rajath S, > M.Sc(Hons.) Physics, > Birla Institute of Technology and Science - Pilani, > Pilani > -- Rajath S, M.Sc(Hons.) Physics, Birla Institute of Technology and Science - Pilani, Pilani