Hi Angela, thank you for the suggestion. I passed from if(policy instanceof ImmutableACL) to if(policy instanceof JackrabbitAccessControlPolicy)
I was a bit hesitant because the debugger was showing ImmutableAcl for those elements, but it works :) Thank you. I have a question, I have some other similar code that gets the entries (List<JackrabbitAccessControlEntry>). In that case I guess I should still use cast to ImmutableACL? Regards. Jorge El jue, 1 jun 2023 a las 2:19, Angela Schreiber (<[email protected]>) escribió: > Hi Jorge > > Yes, that has changed with OAK-10135< > https://issues.apache.org/jira/browse/OAK-10135> for consistency reasons. > > Instead of casting to a spi class (ImmutableAcl) or checking for that one, > I would suggest you verify that the given effective policy is a > JackrabbitAccessControlPolicy. This is the interface that provides the > getPath() method. > > see > https://github.com/apache/jackrabbit-oak/blob/trunk/oak-jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/JackrabbitAccessControlPolicy.java#L38 > > This way you don't rely on some implementation detail and it will work for > all types of policies provided by any kind of authorization model. > > hope that helps > Angela > ________________________________ > From: Jorge Flórez <[email protected]> > Sent: Wednesday, May 31, 2023 18:50 > To: [email protected] <[email protected]> > Subject: Re: Moving to Oak 1.50 or newer > > EXTERNAL: Use caution when clicking on links or opening attachments. > > > Hi, > it would seem there is a difference, when I have to get the node paths that > have an entry with a specific privilege for a user. > I am getting a > > java.lang.ClassCastException: class > > org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.ReadPolicy > cannot be cast to class > > org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.ImmutableACL > > Using > > JackrabbitSession jcrSession = (JackrabbitSession) session; > JackrabbitAccessControlManager acMgr = (JackrabbitAccessControlManager) > jcrSession.getAccessControlManager(); > AccessControlPolicy[] policies = > acMgr.getEffectivePolicies(Collections.singleton(userPrincipal)); > > for (AccessControlPolicy policy : policies) { > p = (ImmutableACL) policy; > path = p.getPath(); > //... > } > > The getEffectivePolicies method returns objects of type ImmutableACL and an > object of type ReadPolicy. > I guess I will just have to check before casting, right? > > Jorge > > El mar, 23 may 2023 a las 8:24, Jorge Flórez (< > [email protected]>) > escribió: > > > Hi Marcel, > > thank you for your reply. Regarding MongoDB, it looks like we are > covered. > > I need to make some changes in my source code regarding the tika and > > tika-parsers version. And I got some warnings in the server log like > > > > WFLYSRV0003: Could not index class com/google/common/io/Closer.class > > WFLYSRV0003: Could not index class > > com/google/common/util/concurrent/AbstractListeningExecutorService.class > > WFLYSRV0003: Could not index class > > org/apache/jackrabbit/guava/common/io/Closer.class > > > > But besides that, it seems it will work :) > > I will let you all know if something comes up. > > > > Best Regards. > > Jorge > > > > El lun, 22 may 2023 a las 3:26, Marcel Reutegger > > (<[email protected]>) escribió: > > > >> Hi Jorge, > >> > >> On 16.05.23, 20:37, "Jorge Flórez" <[email protected]> > wrote: > >> > we are planning to update our oak dependencies, from 1.12.0 to 1.50.0 > >> > (or maybe 1.52.0). We are aware that we need to use Java 11 (already > >> > using it) and update our Mongo servers. It seems it will be to > version 6 > >> > (not my decision). If I have existing repositories created and filled > >> > using 1.12.0, should I do something additional to make them work with > >> > the latest version of Oak? > >> > >> From a DocumentNodeStore perspective, I'm not aware of anything you need > >> to do for the update. The MongoDB Java driver is compatible with MongoDB > >> 6.0, but please note, our automated tests currently do not exercise this > >> combination. I suggest you properly test and report back if you identify > >> any issues on MongoDB 6.0. > >> > >> Regards > >> Marcel > >> > > >
