That's fine and we can together have a look at better implementation options after the big merge.
For the weekend I'm going to get this BB branch back in order with all our changes to finally cleanup the protocol-ldap module, and remove JNDI from the picture (making JNDI an optional adapter that wraps the DirectoryService).
I just started trying to fix the trigger and SP code but these recent changes have it way bent out of shape. However, I now see how we can make this subsystem much better thanks to the removal of JNDI and the presence of OperationContexts. I got stuck trying to modify the trigger specification to pass in a CoreSession instead of a JNDI context. However, now I am thinking of passing in the OperationContext that raised the trigger is the best option. Perhaps both may be required even though the OperationContext.getSession() method returns the session of the user triggering the invocation.
I say both because even though the OperationContext holds a referrence to the CoreSession associated with the user triggering the SP invocation, we may need to execute the SP with the permissions of the owner. In this case, another CoreSession object may need to be passed in as an argument to be used as the session to perform operations with. Some thought may be required here but it's a heck of a lot easier than when we dealt with JNDI.
Anyways, I'm just going to forgo messing with this until later when we can correctly figure out what we're going to do with triggers and SPs.