Hi Marcel, On Fri, 2020-09-11 at 06:55 +0000, Marcel Reutegger wrote: > Hi Robert, > > On 10.09.20, 19:01, "Robert Munteanu" <romb...@apache.org> wrote: > > I am trying to get commit origin information in an Editor ( well, > > Validator actually ). The scenario is that I want to log writes to > > paths > > that should belong to the immutable mount (/libs, /apps) in a > > composite > > setup when preparing. The intercept is done simply to analyse who > > writes > > to /libs and /apps and report unexpected writes. > > > > What I am doing right now is create a ValidatorProvider and record > > all > > the childNodeXXX operations. In the 'leave' method of the root > > validator > > I am doing the logging and walking up the current thread's stack > > trace > > to eliminate 'permitted' callers, like repoinit and the FileVault > > package installer. > > > > Is this approach sound at a high-level? Is there a better way of > > getting > > the commit 'origin'? > > It depends how you define 'origin'. Alternatively, if 'origin' is > more about > _who_ writes, then your validator could use CommitInfo passed to > ValidatorProvider.getRootValidator(). E.g. the CommitInfo contains > the > userId of the session that performs the write operation. > > But I guess you are more interested in the code that invokes the > write > operation.
Yes, I'm interested in the subsystem/component, not the originating user, so I opted to look at the stack trace. Thanks, Robert