Hello all,
we have implementations of server and client CMIS applications.
We consider the possibility to modify the inherited ACEs of the object, so the
client applications are executing the applyACL to remove an ACE inherited
(isDirect = false).
The server side is reacting well but with the following code in the client side
the flag isDirect is ignored:
session.applyAcl(...);
because in the class
org.apache.chemistry.opencmis.client.runtime.repository.ObjectFactoryImpl
[...]
public Acl convertAces(List<Ace> aces) {
if (aces == null) {
return null;
}
BindingsObjectFactory bof = getBindingsObjectFactory();
List<Ace> bindingAces = new ArrayList<Ace>();
for (Ace ace : aces) {
bindingAces.add(bof.createAccessControlEntry(ace.getPrincipalId(),
ace.getPermissions()));
}
return bof.createAccessControlList(bindingAces);
}
[...]
On the contrary If we use this other code it's working well.
session.getBinding().getAclService().applyAcl(...)
My question is if this is a mistake or was made on purpose?
I was trying to find a some references in the CMIS specs 1.0 and 1.1 about that
subject but I couldn't.
Many thanks.
Jorge MARTIN CUERVO
[cid:[email protected]]
European Commission
DG TRADE
Unit A4
CHAR 02/077
B-1049 Brussels/Belgium
+32 2 298 86 27
[email protected]<mailto:[email protected]>