Ok your patch fixed the Browser Bindings issue I had, thanks.
Trying to write the patch for XMLConverter, I'm stumped by some apparent
inconsistency in the spec/code, could you enlighten me?
The spec has on one hand, for the content of an object:
<xs:complexType name="cmisObjectType">
<xs:sequence>
...
<!-- ACL -->
<xs:element name="acl"
type="cmis:cmisAccessControlListType"
minOccurs="0" maxOccurs="1" />
<xs:element name="exactACL" type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
...
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
But on the other hand the getACL/applyACL method responses are:
<xs:element name="getACLResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="ACL"
type="cmism:cmisACLType"
minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="cmisACLType">
<xs:sequence>
<xs:element name="ACL"
type="cmis:cmisAccessControlListType"
minOccurs="1" maxOccurs="1" />
<xs:element name="exact" type="xs:boolean"
minOccurs="0" maxOccurs="1"/>
...
</xs:sequence>
<xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
</xs:complexType>
So a getACL response includes elements <ACL> and <exact>, which are named
differently from the object's <acl> and <exactACL>. Historic I guess?
However the current code
in org.apache.chemistry.opencmis.server.impl.atompub.AclService.GetAcl
calls org.apache.chemistry.opencmis.commons.impl.XMLConverter.writeAcl
which uses <acl> and not <ACL>.
Or have I overlooked something?
Florent
On Mon, Sep 22, 2014 at 3:19 PM, Florent Guillaume <[email protected]> wrote:
> Thanks Florian. I created the issues (CMIS-845 and CMIS-846 — late,
> sorry, I was on vacation) and will add a link to your commit and close
> them after I've done some tests, today or tomorrow.
>
> Florent
>
> On Mon, Sep 15, 2014 at 12:12 PM, Florian Müller <[email protected]> wrote:
> > Hi Florent,
> >
> > I've corrected the ACL handling and added a TCK test for the exact flag.
> > It would be great if you could retest it.
> >
> > - Florian
> >
> >
> >> And in the Browser Bindings client-side code,
> >> org.apache.chemistry.opencmis.commons.impl.JSONConverter.convertAcl
> >> doesn't read the JSON_ACL_IS_EXACT property and is always called with
> >> a null isExact parameter.
> >>
> >> Is this an oversight or is there a deeper reason?
> >>
> >> Thanks,
> >> Florent
> >>
> >> On Wed, Sep 10, 2014 at 3:01 PM, Florent Guillaume <[email protected]>
> wrote:
> >> > Hi,
> >> >
> >> > org.apache.chemistry.opencmis.commons.impl.XMLConverter.writeAcl
> >> > doesn't write the acl.isExact() flag. Is this on purpose?
> >> >
> >> > Btw, isn't ObjectData.isExactAcl() redundant with Acl.isExact()?
> >> >
> >> > Florent
> >> >
> >> > --
> >> > Florent Guillaume, Director of R&D, Nuxeo
> >> > Open Source Content Management Platform for Business Apps
> >> > http://www.nuxeo.com http://community.nuxeo.com
> >>
> >>
> >>
> >> --
> >> Florent Guillaume, Director of R&D, Nuxeo
> >> Open Source Content Management Platform for Business Apps
> >> http://www.nuxeo.com http://community.nuxeo.com
> >>
>
>
>
> --
> Florent Guillaume, Director of R&D, Nuxeo
> Open Source Content Management Platform for Business Apps
> http://www.nuxeo.com http://community.nuxeo.com
>
--
Florent Guillaume, Director of R&D, Nuxeo
Open Source Content Management Platform for Business Apps
http://www.nuxeo.com http://community.nuxeo.com